(轉(zhuǎn)載)[置頂]iOS開發(fā)適配iPhone X 齊劉海處理,代碼適配iPhoneX
標(biāo)簽:iosiPhone-x劉祺旭齊劉海iPhone適配
2017-09-21 16:0858人閱讀評論(0)收藏舉報
分類:
ios技術(shù)(64)
版權(quán)聲明:本文為博主原創(chuàng)文章焕檬,未經(jīng)博主允許不得轉(zhuǎn)載禽作。
今天手頭工作完事了,然后升級了Xcode9,變化很大啊,先說大家一直關(guān)心的適配齊劉海吧.
這個東西好像出來之后 我QQ群里面iOS開發(fā)的很多人都炸了.確實這個齊劉海對我們開發(fā)者很不友好,往上xib的項目適配文章已經(jīng)有了,但是還沒有特別好的純代碼工程的適配.今天我就拋磚引玉,簡單說一下我的純代碼工程是如何進行適配的.
首先先說一下,如果你剛剛升級Xcode9之后,急不可耐馬上打開iPhoneX的話,那么你會發(fā)現(xiàn)自己的工程是這樣的:
丑的一匹吧.而且也沒體現(xiàn)出iPhoneX的大占比
.這時候你需要在項目設(shè)置里面直接用LaunchScreen.xib或者LaunchScreen.storyboard進行配置啟動圖或者images-LaunchImage 里面添加上iPhoneX的啟動圖 1125 × 2436
同時上傳一下適配好的頁面大家進行一個對比:
我改了一下導(dǎo)航欄顏色,看的更直觀一點.
再說一下頂部狀態(tài)欄的問題,大家狀態(tài)欄最好還是用
CGRect statusBarFrame = [[UIApplication sharedApplication] statusBarFrame];
來獲取 不要用固定數(shù)字啦~這次是齊劉海下次可能是馬尾辮臥槽
昨天發(fā)完文章之后,我收到有人回復(fù)說和系統(tǒng)的不一樣,嚇得我趕緊打開系統(tǒng)相冊看一看,圖片是這樣的:
于是我稍微調(diào)整了一下:
簡單邏輯就是
#defineTabbarHeight? ? ([[UIApplication sharedApplication] statusBarFrame].size.height>20?83:49) // 適配iPhone x 底欄高度_tabBarView.frame = CGRectMake(0, CurrentScreenHeight - TabbarHeight, CurrentScreenWidth, TabbarHeight);
1
2
3
4
5
下面貼圖
還有問題請繼續(xù)留言哦,我看到必定第一時間回復(fù)并更新文章
再說一下下面tabbar的問題,有的人說自己的tabbar受到了影響,這個我想說我的自己寫的一套tabbarController,是在最底部的view上添加的按鈕,所以獲取屏幕高度后,沒有產(chǎn)生錯位問題,大家如果有移位問題的可以留言,我會第一時間回復(fù)的
還有就是關(guān)心的比例適配.這里我想說的是.iPhoneX 和5 6 6P的比例尺寸不同的,但是其實寬度比是正比的,只是高度比的問題.我們可以在所有的比例適配中都乘以屏幕寬度比,不管是左右還是上下,這樣,同一頁面 iPhone X的狀態(tài)就是比其他機型加大了可觀看域,不影響其他的布局及顯示哦.如果還有 [愛劈叉]的適配問題,可以在底部留言哦,這篇文章也會持續(xù)更新.
一會我研究一下Xcode 9和iOS 11新的特性,再開一篇文章.