我有一个支持iPhone 5和4的项目。 我用代码写了一切,即。没有xib或故事板。 例如,一个自定义单元格,有一个imageView,如:
self.thumbnailImageView = [[UIImageView alloc]initWithFrame:CGRectMake(10, 10, 300, 180)];
为了支持6和更多,我想缩放框架以适应6和加屏幕,所以我做了类似的事情:
self.thumbnailImageView = [[UIImageView alloc]initWithFrame:CGRectMake(CAL(10), CAL(10), CAL(300), CAL(180))];
CAL是Marco:
#define IS_IPHONE_4_OR_LESS (IS_IPHONE && SCREEN_MAX_LENGTH < 568.0)
#define IS_IPHONE_5 (IS_IPHONE && SCREEN_MAX_LENGTH == 568.0)
#define IS_IPHONE_5_OR_LESS (IS_IPHONE && SCREEN_MAX_LENGTH <= 568.0)
#define IS_IPHONE_6 (IS_IPHONE && SCREEN_MAX_LENGTH == 667.0)
#define IS_IPHONE_6P (IS_IPHONE && SCREEN_MAX_LENGTH == 736.0)
#define CAL(x) (IS_IPHONE_5_OR_LESS? x : RECAL(x) )
#define RECAL(x) (IS_IPHONE_6?RECAL_6(x):RECAL_6P(x))
#define RECAL_6(x) (x*375.0/320)
#define RECAL_6P(x) (x*414.0/320)
检查设备是否为5 /更少或6 /加,并相应地调整值。
我不确定这个解决方案是否可行。我在模拟器中试过,看起来工作得很好。 Ang的建议?
我也尝试过autoresizingMask,但似乎这个方法需要改变很多东西而且它更复杂。