【发布时间】:2014-12-15 19:27:04
【问题描述】:
我制作了一个视图控制器。上面显示了很多信息,包括标签和图像。我想设置它,如果使用的设备是 iPhone 4,则不会显示图像,以帮助节省视图控制器的空间。我如何在 Swift 中做到这一点?
【问题讨论】:
我制作了一个视图控制器。上面显示了很多信息,包括标签和图像。我想设置它,如果使用的设备是 iPhone 4,则不会显示图像,以帮助节省视图控制器的空间。我如何在 Swift 中做到这一点?
【问题讨论】:
用于检测设备(如 iPhone 4):
var device = UIDevice.currentDevice().model
此字符串将显示设备型号。例如,iPhone3,1 表示它是 iPhone 4。
您可以在此页面中找到每个设备(包括 iPod 和 iPad)的字符串:UIDevice currentDevice model possible values
if device == "iPhone3,1" {
imageview.hidden = true
}
以上方法仅适用于真机,不适用于模拟器。
如果你只想在某些屏幕尺寸上隐藏 UIImageView 而不管设备类型,你可以使用下面的方法。
if UIScreen.mainScreen().nativeBounds.height == 960.0 {
// code for iPhone 4 or 4S
} else {
// code for the rest
}
像 Leonardo Savio Dabus 回答的那样检查宽度是行不通的,因为 iPhone 5 的宽度与 iPhone 4 相同,但 iPhone 5 的屏幕比 iPhone 4 大。
【讨论】:
if device == ("iPhone3,1" || "iPhone3,2" || "iPhone 3,3") {...} 这将更加可定制,因为他可能希望在 iPhone 4s 上显示图像,因为 iPhone 4s 将具有更强的处理能力(假设他在 iPhone 4 上隐藏了 imageViews,因为它会滞后)
您可以使用此代码在运行时检测设备:
var device = UIDevice.currentDevice().model
【讨论】: