国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

淺談iphone X的簡單適配問題(推薦)

2020-07-26 02:38:12
字體:
來源:轉載
供稿:網友

上周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)

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 唐山市| 易门县| 沈阳市| 宜兰县| 宜君县| 朝阳市| 馆陶县| 波密县| 教育| 洛川县| 荣成市| 兰考县| 定南县| 宜宾市| 北票市| 夏河县| 贺兰县| 英吉沙县| 墨脱县| 株洲市| 金溪县| 凌源市| 蓝田县| 台安县| 钟祥市| 彰武县| 休宁县| 五家渠市| 钟山县| 云林县| 商城县| 太白县| 若尔盖县| 通州区| 济阳县| 乐平市| 建阳市| 峨边| 汪清县| 沭阳县| 新宁县|