iOS 640 1136解析度程式設計小結

2021-09-30 15:40:10 字數 1189 閱讀 1861

因為iphone5 的新解析度,最近大家都忙著在更新應用以支援新的解析度,雖然新版的xcode4.5 可以直接在xib裡面建立 4寸屏的view,但實際上它卻沒那麼智慧型,它支援4寸屏了,但拉出的控制項即便是在4寸螢幕的環境下它的frame值仍然是以4寸螢幕為基礎的,也就是說如果你的view的frame 為 (0,0,320,548),設定了高度寬度適應,它在3.5寸螢幕環境執行的時候這個view的值仍然是(0,0.320,548),就算它的值看起來在3.5寸下完全顯示,但請不要被它的假像所矇騙了.

有可能你覺得這個值沒什麼關係,當然,如果你的所有控制項都是通過xib拉出來的,那沒什麼.但很多時候情況並不是那麼簡單,有時你要將乙個view通過**放在乙個你想要的位置,那時候你就需要它的座標了.在以前,你可以把它寫死,因為以前是統一解析度,但現在不同了.不同解析度下控制項的座標和大小要進行調整.

本人雖然曾經做過android的開發,但是對多解析度的處理卻不是很在行,想了幾種方案,覺得最方便的是以下這種.

在controller的viewdidload 或者 loadview方法中設定 self.view.frame 

//適應螢幕解析度

cgrect frame = self.view.frame;

frame.size.height = [uiscreen mainscreen].bounds.size.height - 20;

self.view.frame = frame;

因為在當前介面是帶有狀態列,所以在高度那裡減去20 ,如果是帶有導航條的,就再減去44,如果帶有tabbar的,就減去48

在此方法設定之後,controller 的  view.frame就是實際當中的大小,也就是說它的值是準確的,那接下來加入其他view的時候一切的計算都將會變得簡單很多.

比如建立乙個tableview,上邊距為20,下邊距20

uitableview *tableview = [[uitableview alloc]initwithframe:cgrectmake(0, 20, 320, self.view.frame.size.height - 40) style:uitableviewstyleplain];

[self.view addsubview:tableview];

效果如下:

4寸螢幕 3.5寸屏

**放在附件中,如果哪位朋友有更好解決辦法的話,希望可以多多交流. 

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 ...

IOS解析度大全

iphone解析度引數 型號 螢幕尺寸 解析度iphone 3.5英吋 480x320畫素 iphone 3g 3.5英吋 480x320畫素 iphone 3gs 3.5英吋 480x320畫素 iphone 4 3.5英吋 960x640畫素 iphone 4s 3.5英吋 960x640畫素 ...

iOS開發 解析度

ios解析度 點,畫素,物理畫素,裝置顯示 如上圖所示,iphone4 4s,iphone5 5s,iphone6 在將基於點 point 的影象渲染為畫素 pixel 時 這個過程被稱為柵格化 選擇的比例係數為2x 點座標和比例係數相乘,得到畫素座標。iphone6p的柵格化比例係數為3x,更高的...