淺談iphone X的簡單適配

上周Apple大大發(fā)布了新的設(shè)備,其中最引人注目的莫過于iphone X,對于這款設(shè)備官方有詳盡的解說官方文檔,除了最新的若干AR、人工智能等功能外,我們發(fā)現(xiàn)這也是一款全新尺寸的設(shè)備。
官方文檔指出這款設(shè)備的沒有home鍵,當(dāng)然有若干手勢操作代替了home鍵的功能,同時該設(shè)備也是基本的全面屏設(shè)備。當(dāng)然聽到了不少吐槽該設(shè)備的“前劉海”,但是我認(rèn)為相對于劉海上添加的功能,這個劉海也無傷大雅,畢竟相比美觀,對于我這種務(wù)實(shí)者來說更看重功能,閑話不多說,我們在蘋果發(fā)布設(shè)備的第一時間對我們的工程做了簡單的適配,今天有時間,在這里說一下適配過程和小問題。

屏幕快照 2017-09-19 下午10.25.32.png

我們看一下官方的尺寸說明,發(fā)現(xiàn)該設(shè)備可支持@3x的分辨率,再看官方的對于適配的說明:

Most apps that use standard, system-provided UI elements like navigation bars, tables, and collections automatically adapt to the device's new form factor. Background materials extend to the edges of the display and UI elements are appropriately inset and positioned.

大概意思是說一般的原有的UI、導(dǎo)航等視圖都可以自行適配,但是我們在第一時間用Xcode9測試了我們的項(xiàng)目,如圖:

屏幕快照 2017-09-19 下午11.14.18.png

并沒有充滿整個屏幕,簡單快速適配需要添加相應(yīng)的啟動圖

屏幕快照 2017-09-19 下午11.16.45.png

啟動圖的大小為375x812 @3x

添加之后

屏幕快照 2017-09-19 下午11.22.51.png

此時可以完美的充滿整個屏幕了但是還是有一些小問題,特別是在用純代碼的工程中特別愛用

#define SCREENWIDTH [UIScreen mainScreen].bounds.size.width
#define SCREENHIGHT [UIScreen mainScreen].bounds.size.height

這兩個宏定義,來獲取屏幕的寬高,容易出問題的地方在底部視圖的情況,原來的所有機(jī)型狀態(tài)+導(dǎo)航都是64,這里突然變的更大了,原來計算位置的frame現(xiàn)在可能會不在原來的位置上了
由于狀態(tài)+導(dǎo)航我們有了兩個不同的尺寸,方便起見可以使用下邊的代碼動態(tài)獲取

CGRect rectStatus = [[UIApplication sharedApplication] statusBarFrame];
NSLog(@"status width - %f", rectStatus.size.width); // 寬度
NSLog(@"status height - %f", rectStatus.size.height);  // 高度


// 導(dǎo)航欄(navigationbar)
CGRect rectNav = self.navigationController.navigationBar.frame;
NSLog(@"nav width - %f", rectNav.size.width); // 寬度
NSLog(@"nav height - %f", rectNav.size.height);  // 高

這樣就可以精確地獲得frame,特別是以保證視圖在底部,再來一張適配好的帶導(dǎo)航的圖片

屏幕快照 2017-09-19 下午11.40.58.png

至此簡單適配完成!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,306評論 25 708
  • iOS 9設(shè)計規(guī)范 中文版 完整版譯者注:本文譯自蘋果官方人機(jī)界面指南 iOS Human Interface G...
    海寧Hennie閱讀 13,376評論 2 60
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,241評論 4 61
  • 這篇文章不是記錄我的抑郁的筆記,是知乎Live上的一場分享,我也沒有抑郁。但是不知道從什么時候,開始對于“精神”上...
    曉龍XL閱讀 1,822評論 33 35
  • 這么多年 你一直幽居在我的心口 我的心口放下過天地 放下過萬物 萬物皆說 我從未放下過你 你值得我行遍世間所有的路...
    時光穿梭者閱讀 377評論 2 3