swift ios 使用尺寸 class 纵向模式检查 iphone 5 或 iphone 6

swift ios check for iphone 5 or iphone 6 using size class portrait mode

我想知道是否可以检查用户使用的是 iphone 5 还是 iphone 6,大小为 class?

我有一张 header 图片,当用户使用 iphone 6 而不是 iphone 5 时,我想放大它。

现在我正在使用 this 库来检查什么设备。

我通过在 viewDidLoad

中添加这个来做到这一点
if device == .iPhone5 || device == .iPhone5s || device == .iPhone5c {
    //Update image size constraints etc
   view.layoutIfNeeded()
} 

但是是否可以只使用尺寸 class?

只有 iphone 6 plus 有不同的尺寸 class(常规 class 横向)。您无法使用大小 class 区分 iphone 5 和 6。

您可以使用 viewWillTransitionToSize 并检查屏幕尺寸来确定设备。或者,您可以使用以下变量:

[[UIScreen mainScreen] bounds].size.height
[[UIScreen mainScreen] bounds].size.width

(SOURCE) 如果存在两个屏幕尺寸相同但分辨率不同的设备,scaling factor of resolution could be used to discern which device you're dealing with. (DOCS)

float scaleFactor = [[UIScreen mainScreen] scale];