用慣了純代碼的方式,突然想嘗試一下xib來(lái)畫頁(yè)面,主要是在新的項(xiàng)目中想適配目前的iPhone頂配----------------iPhoneX,iPhoneX的寬為375pt,高為812pt,下圖為iPhoneX與iPhone6S等系列的屏幕大小比例。

在iPhoneX中提出了一個(gè)新的概念,safearea及安全區(qū)域,這主要就是因?yàn)閕PhoneX那風(fēng)騷的劉海,蘋果希望我們?cè)诓季謺r(shí)全屏布局,但在需要用戶交互的地方(即可操作點(diǎn)擊的地方)應(yīng)處于safearea內(nèi),因?yàn)榘踩珔^(qū)域外iPhone有系統(tǒng)自帶的相關(guān)手勢(shì)操作(防止沖突),大小區(qū)域如下圖。
在xib中適配時(shí)很簡(jiǎn)單,往某個(gè)ViewController視圖中拖動(dòng)控件的時(shí)候,以往約束對(duì)象為self.view,但在最新版xib中,如果你的項(xiàng)目最低支持為ios9的話,xib約束時(shí)可以選擇safearea,把相關(guān)交互控件放在safearea內(nèi)即可適配iPhoneX了。
在上周使用xib中遇上了一個(gè)問(wèn)題,當(dāng)我在一個(gè)頁(yè)面上同時(shí)放置了一個(gè)UITableview和UICollectionView的時(shí)候發(fā)現(xiàn)一個(gè)問(wèn)題,tableview坐標(biāo)正確而UICollectionView卻被導(dǎo)航欄遮住了,檢查了好久發(fā)現(xiàn)是因?yàn)楫?dāng)一個(gè)頁(yè)面有多個(gè)繼承UIScrollView的時(shí)候自適應(yīng)導(dǎo)航欄變失效了,最終解決方法是將導(dǎo)航欄寫為不透明,并將UICollectionView對(duì)self.view額外添加一個(gè)約束即可解決。
總結(jié),在以后的項(xiàng)目中會(huì)更加多的使用xib來(lái)進(jìn)行布局,畢竟約束起來(lái)比代碼要快很多呀,而且更加直觀,寫起來(lái)更加爽^_^。
掃二維碼關(guān)注諾千科技
19909697910 / 15656989941
0551-65285599 / 0551-65428099
330592165
http://www.fscomfort.com.cn/
地址:安徽省合肥市高新區(qū)創(chuàng)新大道2700號(hào)路歌大廈A座6樓
CONTACT NUOQIAN
如果你認(rèn)同“術(shù)業(yè)有專攻”的理念,請(qǐng)給我們留言,告知你的需求,
我們會(huì)提供專業(yè)的互聯(lián)網(wǎng)解決方案。