1. 程式人生 > >iOS開發適配iPhone X 齊劉海處理,程式碼適配iPhoneX

iOS開發適配iPhone X 齊劉海處理,程式碼適配iPhoneX

我的簡書新地址,歡迎點選檢視哦~
今天手頭工作完事了,然後升級了Xcode9,變化很大啊,先說大家一直關心的適配齊劉海吧.
這個東西好像出來之後 我QQ群裡面iOS開發的很多人都炸了.確實這個齊劉海對我們開發者很不友好,往上xib的專案適配文章已經有了,但是還沒有特別好的純程式碼工程的適配.今天我就拋磚引玉,簡單說一下我的純程式碼工程是如何進行適配的.
首先先說一下,如果你剛剛升級Xcode9之後,急不可耐馬上開啟iPhoneX的話,那麼你會發現自己的工程是這樣的:
這裡寫圖片描述
醜的一匹吧.而且也沒體現出iPhoneX的大佔比
.這時候你需要在專案設定裡面直接用LaunchScreen.xib或者LaunchScreen.storyboard進行配置啟動圖或者images-LaunchImage 裡面新增上iPhoneX的啟動圖 1125 × 2436
同時上傳一下適配好的頁面大家進行一個對比:
這裡寫圖片描述

我改了一下導航欄顏色,看的更直觀一點.
再說一下頂部狀態列的問題,大家狀態列最好還是用
CGRect statusBarFrame = [[UIApplication sharedApplication] statusBarFrame];
來獲取 不要用固定數字啦~這次是齊劉海下次可能是馬尾辮臥槽

昨天發完文章之後,我收到有人回覆說和系統的不一樣,嚇得我趕緊開啟系統相簿看一看,圖片是這樣的:

這裡寫圖片描述
於是我稍微調整了一下:
簡單邏輯就是

  #define TabbarHeight     ([[UIApplication sharedApplication] statusBarFrame].size.height>20?83:49) // 適配iPhone x 底欄高度
_tabBarView.frame = CGRectMake(0, CurrentScreenHeight - TabbarHeight, CurrentScreenWidth, TabbarHeight);

下面貼圖
這裡寫圖片描述

還有問題請繼續留言哦,我看到必定第一時間回覆並更新文章

再說一下下面tabbar的問題,有的人說自己的tabbar受到了影響,這個我想說我的自己寫的一套tabbarController,是在最底部的view上新增的按鈕,所以獲取螢幕高度後,沒有產生錯位問題,大家如果有移位問題的可以留言,我會第一時間回覆的

還有就是關心的比例適配.這裡我想說的是.iPhoneX 和5 6 6P的比例尺寸不同的,但是其實寬度比是正比的,只是高度比的問題.我們可以在所有的比例適配中都乘以螢幕寬度比,不管是左右還是上下,這樣,同一頁面 iPhone X的狀態就是比其他機型加大了可觀看域,不影響其他的佈局及顯示哦.如果還有 [愛劈叉]的適配問題,可以在底部留言哦,這篇文章也會持續更新.

一會我研究一下Xcode 9和iOS 11新的特性,再開一篇文章.