天天看點

舊項目适配iphone6和iphone plus

iphone手機螢幕大小和像素:

1.iPhone5/5s    320x568,像素640x1136,@2x

2.iPhone6          375x667,像素750x1334,@2x

3.iPhone6 Plus  414x736,像素1242x2208,@3x

舊的項目在xcode6上運作在iphone6或者iphone6 plus上,界面會被放大,适應iphone6和iphone6 plus的大螢幕。這時,若在項目中輸出螢幕的寬高如下:

    CGSize size =[[UIScreen mainScreen] bounds].size;

    NSLog(@"width=%f height =%f",size.width,size.height)

發現輸出的值還是320和568,說明編譯器隻是對app進行的自動拉伸。

那如何才能讓app不自動拉伸,輸出真正的size?遵循之前适配iphone5一樣,還是修改啟動畫面。但有别于iphone5,現在蘋果提供了一個LaunchScreen.xib作為啟動頁面,是以隻要給舊項目添加LaunchScreen.xib即可。方法如下:

File->new->file->User Interface->Launch Screen

這時舊的工程目錄下就會增加一個,然後再在項目的targets下設定啟動屬性,如下圖

現在,重新運作項目就能打出對應的size。

接下來就是将項目中的320換成size.width.

如果發現适配太麻煩了,可以把LaunchScreen.xib删掉,再把上圖中的Launch Screen File 設成空就換回自動拉伸的效果了。

轉載于:https://blog.51cto.com/89092706/1565635