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