如何在iphone5&上更改UIImageView的大小iPhone 6?

时间:2015-04-11 12:08:35

标签: ios objective-c iphone

我有一个要在我的应用中显示的图片。 我想将iPhone6上的图像大小设置为169pt&在iPhone5上设置为120pt。 我知道iOS8上有一个大小等级。但是如何为其上的不同iPhone设置不同的尺寸。 我只能区分iPad和iPad iphone肖像/风景大小等级&无法区分iPhone 5和iPhone6

2 个答案:

答案 0 :(得分:1)

您是否考虑过使用AutoLayout?它是一个基于约束解析器的布局系统,可以使您的视图响应,它是Apple在iOS7中首选的首选方法。文档在这里:

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添加了新的UI惯用语和大小(如Apple Watch)。随着支持的大小数量的增加,势必成形的大小调整代码将很快变得脆弱。

答案 1 :(得分: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)