導讀上周Apple大大發布了新的設備,其中最引人注目的莫過于iphone X,對于這款設備官方有詳盡的解說官方文檔,除了最新的若干AR、人工智能等功能外,我們發現這也是一款全新尺寸的設備。官方文檔指出這... 上周Apple大大發布了新的設備,其中最引人注目的莫過于iphone X,對于這款設備官方有詳盡的解說官方文檔,除了最新的若干AR、人工智能等功能外,我們發現這也是一款全新尺寸的設備。 官方文檔指出這款設備的沒有home鍵,當然有若干手勢操作代替了home鍵的功能,同時該設備也是基本的全面屏設備。當然聽到了不少吐槽該設備的“前劉!,但是我認為相對于劉海上添加的功能,這個劉海也無傷大雅,畢竟相比美觀,對于我這種務實者來說更看重功能,閑話不多說,我們在蘋果發布設備的第一時間對我們的工程做了簡單的適配,今天有時間,在這里說一下適配過程和小問題。
我們看一下官方的尺寸說明,發現該設備可支持@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、導航等視圖都可以自行適配,但是我們在第一時間用Xcode9測試了我們的項目,如圖:
并沒有充滿整個屏幕,簡單快速適配需要添加相應的啟動圖
啟動圖的大小為375x812 @3x 添加之后
此時可以完美的充滿整個屏幕了但是還是有一些小問題,特別是在用純代碼的工程中特別愛用 #define SCREENWIDTH [UIScreen mainScreen].bounds.size.width #define SCREENHIGHT [UIScreen mainScreen].bounds.size.height 這兩個宏定義,來獲取屏幕的寬高,容易出問題的地方在底部視圖的情況,原來的所有機型狀態+導航都是64,這里突然變的更大了,原來計算位置的frame現在可能會不在原來的位置上了 由于狀態+導航我們有了兩個不同的尺寸,方便起見可以使用下邊的代碼動態獲取 CGRect rectStatus = [[UIApplication sharedApplication] statusBarFrame]; NSLog(@"status width - %f", rectStatus.size.width); // 寬度 NSLog(@"status height - %f", rectStatus.size.height); // 高度 // 導航欄(navigationbar) CGRect rectNav = self.navigationController.navigationBar.frame; NSLog(@"nav width - %f", rectNav.size.width); // 寬度 NSLog(@"nav height - %f", rectNav.size.height); // 高 這樣就可以精確地獲得frame,特別是以保證視圖在底部,再來一張適配好的帶導航的圖片 至此簡單適配完成! 適配iOS11與iPhoneX過程中遇到的問題 問題 1 app上下為黑色區域,不是全屏(iPhoneX) 你可能需要添加新的LaunchImage 編輯LaunchImage的Contents.json文件,在前面添加如下代碼 注意替換文件名 { "extent" : "full-screen", "idiom" : "iphone", "subtype" : "2436h", "filename" : "iPhoneX.png", "minimum-system-version" : "11.0", "orientation" : "portrait", "scale" : "3x" }, { "extent" : "full-screen", "idiom" : "iphone", "subtype" : "2436h", "filename" : "iPhoneX.png", "minimum-system-version" : "11.0", "orientation" : "landscape", "scale" : "3x" }, 問題2 tabbar或navigation Bar異常 (iPhoneX) 以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持本站。
您可能感興趣的文章:
|
溫馨提示:喜歡本站的話,請收藏一下本站!