2015-04-11 2 views
0

У меня есть изображение для отображения в моем приложении. Я хочу установить размер изображения на iPhone6 ​​до 169pt & на iPhone5 установить его 120pt. Я знаю, что на iOS8 существует класс размеров. Но как я могу установить разные размеры для разных iPhone на нем. я могу различить только между IPad & iphone портрет/пейзаж в размерных классов & не может отличить iPhone 5 от iPhone6 ​​Как изменить размер UIImageView на iphone5 и iphone6?

ответ

0

Просто вытащил это из одного из моих проектов. Он показывает логику, которую я использую для разработки того, какое устройство использует пользователь.

#define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
#define IS_IPHONE (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) 
#define IS_IPHONE_5 (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 568.0) 
#define IS_IPHONE_6 (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 667.0) 
#define IS_IPHONE_6PLUS (IS_IPHONE && [[UIScreen mainScreen] nativeScale] == 3.0f) 
#define IS_IPHONE_6_PLUS (IS_IPHONE && [[UIScreen mainScreen] bounds].size.height == 736.0) 
#define IS_RETINA ([[UIScreen mainScreen] scale] == 2.0) 
1

Считаете ли вы использование AutoLayout? Это система компоновки, основанная на ограничениях, которая сделает ваши взгляды отзывчивыми, и это предпочтительный метод Apple, начиная с iOS7. Docs здесь:

https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/Introduction/Introduction.html

И отличный учебник здесь:

http://www.raywenderlich.com/50317/beginning-auto-layout-tutorial-in-ios-7-part-1

AutoLayout является гораздо более надежным методом для сохранения ваших взглядов отзывчивых даже Apple, добавляет новые идиомы интерфейса и размеры (как Apple Watch). Императивный размерный код быстро станет хрупким, поскольку количество поддерживаемых размеров увеличивается.

Смежные вопросы