UIImageView 根据设备方向使用不同的图片

3
在我的项目中,第一个屏幕有一个全屏图像作为背景。我希望可以轻松地根据设备和方向切换图像。我有一个包含全视图UIImage的故事板场景。
我已经知道如何使用资源库来指定不同的iPad / iPhone和1x 2x 3x图片,它会自动选择最佳的图片。
是否有一种方法可以在方向改变时执行相同的操作?当iPad处于横向模式时,我想显示不同的图像。

您可以根据大小类别指定图像,但不幸的是,横向iPad并没有不同的大小类别! - matt
我不确定您是否可以专门针对不同方向使用图像资源,但是您可以侦听方向更改,当方向更改时,您可以选择正确的图像资源。例如从“picture”更改为“picture-landscape”或其他名称。 - David
1
真遗憾,你不能使用Size classes来完成它!它看起来如此接近。 - Sean Clark Hess
这个 hack 对我很有用:https://dev59.com/Fl8d5IYBdhLWcg3wmDOf#28268200 - Sean Clark Hess
1个回答

0

不知道是否可以直接从图像资源中进行操作。一种方法是执行以下操作:

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
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接