简体   繁体   中英

Size Classes to distinguish between iPhone 5, 6 and 6 Plus?

I was very happy to learn that Size Classes are backward compatible with iOS 7 (in some cases). Now I'm wondering - is there a way to use Size Classes to distinguish between iPhone 5, 6 and 6 Plus?

No. Quite the opposite actually, size classes are used to abstract the device away. These are the currently used size class:

compact width, compact height: 3.5", 4", 4.7" iPhones in Landscape mode
compact width, regular height: all currently available iPhones in Portrait
regular width, compact height: 5.5" iPhone in Landscape
regular width, regular height: all currently available iPads regardless of orientation

You could try testing against the screen height (or width) eg:

//iphone 5
if UIScreen.main.bounds.size.height == 568.0 {
// your code here
}

iphone screen heights are as follows:

iphone 5 = 568.0

iPhone 6/6s/7 = 667.0

iphone 6/7 plus = 736.0

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM