在 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。