iOS 對於iPhone5解析度相容性調整問題

2021-09-01 10:52:05 字數 1193 閱讀 9180

iphone5的新解析度著實啃爹了一把,剛下完xcode4.5想玩玩iphone5的長螢幕效果,順便研究下怎麼去相容它。

繼續,開始修復黑邊~~

這一步只要在config裡多加一張4inch的launch就能搞定

這樣如下圖,讓layout上對齊,並且actionsheet顯示正常~ 

最後用巨集替換掉寫死的460,

#define screenheight [[uiscreen mainscreen] bounds].size.height

#define screenwidth [[uiscreen mainscreen] bounds].size.width

#define statebarheight 20

#define mainheight (screenheight - statebarheight)

#define mainwidth screenwidth

挑了張比較簡單的view改了下,效果還不錯啦~

搞完洗洗睡了~~

【更新】有同學和我反映xib沒法搞

我的做法是在m檔案裡對映那個需要定位的控制項iboutlet

- (void)viewdidload

在load方法裡植入相容**就可以了。

另外有時候外層view的大小是不可見的,導致在下部的控制項沒有辦法被使用者觸發,這是因為view的frame是直接由xib賦值,ip4一般直接賦值460,所以需要對frame進行重置

另外如果要直接相容先前的xib可以這樣在class 的 viewdidload裡寫:

//for ip5

cgrect mainrect = self.view.frame;

mainrect.size.height = screenheight;

self.view.frame = mainrect;

另外可能需要判斷ip5的巨集定義,我這裡提供乙個:

#define isiphone5 ([uiscreen instancesrespondtoselector:@selector(currentmode)] ? cgsizeequaltosize(cgsizemake(640, 1136), [[uiscreen mainscreen] currentmode].size) : no)
這樣基本能解決xib來init帶來的相容性問題。

對於iPhone5解析度相容性調整問題

iphone5的新解析度著實啃爹了一把,剛下完xcode4.5想玩玩iphone5的長螢幕效果,順便研究下怎麼去相容它。繼續,開始修復黑邊 這一步只要在config裡多加一張4inch的launch就能搞定 這樣如下圖,讓layout上對齊,並且actionsheet顯示正常 最後用巨集替換掉寫死的...

iphone螢幕解析度

ios螢幕解析度各不相同,但ios提供了一種考慮解析度的簡單方式。例如,iphone螢幕大小為320 480點 這裡的 點 不是畫素,iphone採用了retina螢幕,在此之前,iphone的螢幕解析度是320 480畫素,現在ios裝置的實際解析度為上述解析度與縮放因子的乘積,這意味著雖然對元素...

ios 解析度全集

裝置名稱 螢幕尺寸 解析度ppi 每英吋畫素數量 高寬比iphone 3.5英吋 320 x 480畫素 163 ppi 3 2iphone 3g 3.5英吋 320 x 480畫素 163 ppi 3 2iphone 3gs 3.5英吋 320 x 480畫素 163 ppi 3 2iphone ...