用Size Classes来区分iPhone 5、6和6 Plus?

9

我很高兴地了解到 Size Classes 与 iOS 7 兼容(在某些情况下)。现在我想知道 - 是否有一种方法可以使用 Size Classes 来区分 iPhone 5、6 和 6 Plus?

2个回答

10

不是相反,实际上尺寸类别被用来抽象设备。以下是目前使用的尺寸类别:

紧凑宽度、紧凑高度: 处于横屏模式下的3.5英寸、4英寸、4.7英寸iPhone
紧凑宽度、常规高度: 所有目前可用的iPhone处于竖屏模式下
常规宽度、紧凑高度: 5.5英寸 iPhone处于横屏模式下
常规宽度、常规高度: 所有目前可用的iPad,无论方向如何


3
我了解,但如果我只想在我的iPhone3.5上进行更改并保持所有其他设备的布局不变,我该怎么做? - Mohsin Khubaib Ahmed
1
不能为iPhone5s和iPhone6s设置不同的字体大小和间距是一个问题。对于某些UI布局,这些屏幕之间存在巨大差异。尺寸类别太粗糙了。 - Jarrod Smith
三年后@JarrodSmith的评论,苹果仍然决定将所有iPhone保持在同一尺寸级别,这真是一个笑话。这似乎就像苹果喜欢更大的手机上大多数应用程序拥有的所有空白空间一样... - RicardoDuarte

0
你可以尝试根据屏幕高度(或宽度)进行测试,例如:
//iphone 5
if UIScreen.main.bounds.size.height == 568.0 {
// your code here
}

iPhone屏幕高度如下:

iPhone 5 = 568.0

iPhone 6/6s/7 = 667.0

iPhone 6/7 Plus = 736.0


我会检查 UIScreen.main.bounds.size.height 而不是视图大小。 - Luca D'Alberti

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