UIImageView 根据方向使用不同的图像

Posted

技术标签:

【中文标题】UIImageView 根据方向使用不同的图像【英文标题】:UIImageView use different image based on orientation 【发布时间】:2016-02-18 22:33:55 【问题描述】:

在我的项目中,第一个屏幕的背景是全屏图像。我想根据设备和方向轻松切换图像。我有一个带有全视图 UIImage 的情节提要场景。

我已经知道如何使用资源库为 iPad / iPhone 和 1x 2x 3x 指定不同的图像。它将自动选择最佳图像。

有没有办法为方向改变做同样的事情?当 iPad 处于横向时,我想显示不同的图像。

【问题讨论】:

您可以根据尺寸等级指定图像,但不幸的是横向iPad不是不同的尺寸等级! 我不确定您是否可以将图像资源专门用于不同的方向,但您可以聆听方向变化,当方向变化时,您可以选择正确的图像资源。比如从资产“图片”更改为“图片风景”之类的。 真可惜,你不能用 Size 类来做到这一点!太近了。 这个技巧对我有用:***.com/questions/26633172/… 【参考方案1】:

不知道是否可以直接从图像资源中进行。一种方法是这样做:

override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) 
    if UIDevice.currentDevice().orientation.isLandscape.boolValue && UIDevice.currentDevice().userInterfaceIdiom == .Pad 
        // Load First Image
     else 
        // Load second Image
    

【讨论】:

以上是关于UIImageView 根据方向使用不同的图像的主要内容,如果未能解决你的问题,请参考以下文章

更改设备方向时如何为uiimageview设置动画

UIImageView 在动画期间显示相机以错误的方向拍摄的图像

如何防止 UIImageView 使用 Autolayout 调整大小

UIImageView:将大小更改为图像大小?

如何根据 UIImageView 高度设置不同的 UITableViewCell 高度?

故事板,UIImageView。从包中加载图像