ios应用屏幕兼容问题

在 ipone 4s 以前,我们好像没有过多的考虑屏幕兼容的问题,因为iphone 智能的帮我们解决了,

比如说 iphone iphone 3g iphone 3gs 为 320 *480

iphone 4 iphone 4s 为 640 *960

我们很多情况下就是提供一个 [email protected],如果是Retina屏幕,iphone为自己选择现实@2x 的图片。


而iphone 5 为 640 *1136 比 4 和4s 高了 176像素。

如果我们考虑屏幕兼容,我们可以这样


1判断是否 iphone 5,如果是5的话,我们做一些特殊的处理,比如说如果是5的话我们把视图的尺寸增大等

#define isIPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ?

CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)


2 直接用比例,在设置尺寸的时候我们不把数据写死,只是提供一些比例。
#define ScreenHeight [[UIScreen mainScreen] bounds].size.height
#define ScreenWidth [[UIScreen mainScreen] bounds].size.width
#define StateBarHeight 20
#define MainHeight (ScreenHeight - StateBarHeight)
#define MainWidth ScreenWidth



3 autoLayout

这个不说了


4 如果有xib文件,我们可以针对不同的情况,新建多个xib文件。比如说一些很复杂的布局,我们可能要建1个 水平的,1个垂直的,一个针对5的xib。



你可能感兴趣的:(ios)