首先說下讓本身的程序支持iPhone6和6+,第一種使用官方提供的launch screen.xib,這個直接看官方文檔便可,這裏再也不多述;第二種方法是和以前iPhone5的相似,比較簡單,爲iPhone6和6+添加兩張特殊的pngapp
iPhone6:命名:Default-375w-667h@2x.png 分辨率:750*1334優化
6+ 命名:Default-414w-736h@3x.png 分辨率:1242*2208spa
注意:code
若是要在app的介紹頁面裏有「爲iPhone6,6 plus優化」的字樣就必須使用第一種方法,使用第二種方法的話仍是會顯示「爲iPhone5優化」blog
下面說一下純代碼適配文檔
#define ScreenHeight [[UIScreen mainScreen] bounds].size.height #define ScreenWidth [[UIScreen mainScreen] bounds].size.width
#pragma mark -------屏幕適配------- CG_INLINE CGRect CGRectMake1(CGFloat x, CGFloat y, CGFloat width, CGFloat height) { //屏幕適配比例 float autoSizeScaleX; float autoSizeScaleY; if (ScreenHeight >480) { autoSizeScaleX = ScreenWidth/320; autoSizeScaleY = ScreenHeight/568; } else { autoSizeScaleX = 1.0; autoSizeScaleY = 1.0; } CGRect rect; rect.origin.x = x * autoSizeScaleX; rect.origin.y = y * autoSizeScaleY; rect.size.width = width * autoSizeScaleX; rect.size.height = height * autoSizeScaleY; return rect; }
由於iPhone4s屏幕的高度是480,所以當屏幕尺寸大於iPhone4時,autoSizeScaleX和autoSizeScaleY即爲當前屏幕和iPhone5尺寸的寬高比。好比,class
若是是5,autoSizeScaleX=1,autoSizeScaleY=1;
若是是6,autoSizeScaleX=1.171875,autoSizeScaleY=1.17429577;
若是是6Plus,autoSizeScaleX=1.29375,autoSizeScaleY=1.2957;
如今咱們獲取了比例關係後,先來看一下如何解決代碼設置界面時的適配。
這樣,在5,6和6Plus的位置和尺寸比例都是同樣的。float