iOS開發- iPhone6/6 Plus適配

來源:互聯網
上載者:User

iOS開發- iPhone6/6 Plus適配

花了點時間, 重新整理了下iPhone的相關適配, 總結如下:


iOS6之前, 螢幕適配一般使用autosize,設定視圖與父視圖的尺寸關係缺陷:(Autosizing布局的不足)1. 不能設定視圖與視圖之間的關係2. 不能設定尺寸放大,縮小的最大值,最小值iOS6之後, 使用自動布局。AutoLayoutiOS8 size classes (更加抽象, 正方形)

另外, 現在主流的一些裝置參數如下:

iPhone iPhone4 iPhone5 iPhone6 iPhone6+
Point 320*480 320*480 320*568 375*667 414*736
Pixel 320*480 640*960 640*1136 750*1334 1242*2208
Pexel(裝置) ~ ~ ~ 1920*1080
Scale 1 2 2 2 3
PPI 163 326 326 326 401

也就是說. 現在如果要適配iPhone6 Plus。 那麼你需要另外提供一套@3x的圖片. (之前只有一套常規, 一套@2x) 可以看Scale裡的值。

簡單的說:iPhone4、iPhone5、iPhone6這幾個裝置的ppi都是相同的,預設圖片優先是@2x。iPhone6 Plus的像素密度更高,預設圖片優先是@3x。

另外,iPhone6 Plus有一點和其他裝置不同:在App內部獲得的螢幕解析度是1242*2208,但裝置實際解析度是1920*1080,這時系統會把整體的顯示內容做一個縮放,downscale到1/1.15。這個特性在OSX上也有出現過:



從Xcode6 GM版本開始,模擬器新增了iPhone6和iPhone6 Plus兩種,如果舊的工程直接跑到這兩個模擬器中時,預設是"相容模式",即系統會簡單的把內容等比例放大,顯示效果有些模糊但尚可接受。此時App內部擷取到的裝置解析度和iPhone5是一樣的:320*568 point。

也就是說, 就是你原先的工程, 沒有適配iPhone6 plus。 但是在iPhone6 plus上運行, 也是沒有問題的。 這時候裝置解析度會和5一樣。320*568。即iPhone6 plus適配你的應用, 而不是你的應用去適配iPhone6 plus。這導致了6的高解析度無用武之地。

所以,我們要手動開啟高解析度模式。

啟用高解析度模式

啟用高解析度模式有2個方法(目前我能找到的):

1.添加大屏的LaunchImage:
在Images.xcassets裡,刪除舊的LaunchImage組,然後建立LaunchImage組,添加對應高解析度的圖片。對此,這裡有一篇更詳細的圖文介紹:How to Add a Launch Image for the iPhone 6。如果想要快速測試一下新的效果,這裡有3張樣本圖片下載。

2.添加Launch Screen File

Launch Screen是Xcode6和iOS8新加的功能,它用一個xib檔案來作為啟動畫面。App在舊版iOS啟動時,該屬性會被自動忽略,不會造成異常。
首先,點擊New File ->iOS User Interface ->Launch Screen,然後在工程設定項裡啟用它:

上面兩處設定,只要啟用任意一個即可讓App進入高解析度模式;但如果兩處都沒有設定,則App會回退到相容模式。鑒於現在不少App還需要相容iOS5,而第一種方法在iOS5上可能有bug,所以這裡推薦用第二種方法。



所以, 要做好現在這些裝置的適配, 需要學會autolayout(自動布局), 當然,這隻是個人建議。

另外, 還要多準備一份@3x的圖片。

再有, 要開啟高解析度模式。

再有,仔細觀察6+的模擬器, 它的案頭是可以橫向顯示的。 所以我們的應用在6+上也應該盡量適配橫屏。


下面附帶一些學習資料:


開始iOS 7中自動布局教程(一)
http://www.cocoachina.com/industry/20131203/7462.html
(翻譯)開始iOS 7中自動布局教程(二)
http://www.cnblogs.com/zer0Black/p/3977288.html


大屏iPhone的適配
http://blog.ibireme.com/2014/09/16/adapted_to_iphone6/

無限互聯iPhone6適配教程 全部視頻雲端硬碟下載連結
下載連結:http://pan.baidu.com/s/1kTgK4AF 密碼:p7yp


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.