1、iphone4s到iphone5,设备的尺寸就发生了改变,这就需要视图适应不同尺寸的比例
iphone4是960 X 640
iphone5是1136 x 640
以上是指像素,实际上开发坐标还是按照点来处理
iphone4 480 X 320
iphone5 568 X 320
不同主要是height不同,iphone5比之前多出88,所以在开发中涉及到size.height和origin.y的值是需要不同处理的
判断设备的方法有
#define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)
或者
#define DEVICE_IS_IPHONE5 ([[UIScreen mainScreen] bounds].size.height == 568)
也有文章从xib的参数设置,使得子视图自动适应改变,对应到代码中如下
self.view.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleTopMargin| UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin| UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;