iphone開發之適配iphone5 – iPhone手機開發技術文章 iPhone軟體開發教學課程

iphone5出來瞭,從不用適配的我們也要像android一樣適配不同分辨率的屏幕瞭。

 

公司產品新版本需要適配iphone5,經過一番折騰算是搞定瞭。下面分享給大傢:

 

iphone5的屏幕分辨率:1136 x 640 也即是高度變成瞭568,程序啟動時我們需要一張retina圖片命名為Default-568h@2x.png。在我們創建工程時xcode會默認為我們創建一個純黑色的圖片替換即可。

 

最新版的xcode都已支持iphone5調試:選中模擬器—->設備—->iphone(Retina 4-inch),稍等片刻就可以切換到iphone5模擬器。

 

要適配iphone5需要將view的autosizing設置為如下狀態:

 

 

 

當然還要確認選中另一項

 

 

 

這一項默認會選中的,意思是自動縮放子視圖。

 

如果我們的view沒有使用xib那我們可以使用代碼設置這些屬性:

 

 

[cpp] 

self.view.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleTopMargin   

| UIViewAutoresizingFlexibleRightMargin |  UIViewAutoresizingFlexibleBottomMargin    

| UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;  

 

self.view.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleTopMargin 

| UIViewAutoresizingFlexibleRightMargin |  UIViewAutoresizingFlexibleBottomMargin  

| UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;接下來設置子視圖(比如button,image等):

 

 

 

 

 

對應代碼:

 

[cpp] 

autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleTopMargin;  

 

.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleTopMargin;

意思是將控件縮放時與父視圖左邊和頂部對應。可以根據具體需要設置子控件的autorizingMask相應值。

 

我們還可以通過代碼手動改變iphone5下控件的大小或位置:

首先判定一下設備是否為iphone5:

 

 

 

[cpp] 

#define DEVICE_IS_IPHONE5 ([[UIScreen mainScreen] bounds].size.height == 568)   

 

#define DEVICE_IS_IPHONE5 ([[UIScreen mainScreen] bounds].size.height == 568) 接著我們可以在view初始化的時候改變frame:

 

 

[cpp] 

if (DEVICE_IS_IPHONE5) {  

        [botton setFrame:CGRectMake(0, 450, 320, 440)];  

}  

 

if (DEVICE_IS_IPHONE5) {

        [botton setFrame:CGRectMake(0, 450, 320, 440)];

}

 

You May Also Like