iOS11和iPhone X屏幕適配

iPhone X上市了,給設(shè)計(jì)師和開(kāi)發(fā)工程師們又帶了新的挑戰(zhàn)惧盹,那一條齊劉海和四個(gè)圓角的屏幕乳幸,不得不去進(jìn)行屏幕適配瞪讼,并且蘋(píng)果的iOS11也進(jìn)行了一些方法的替換,這就讓以前寫(xiě)的代碼在iOS11的系統(tǒng)上跑起來(lái)有了不小挑戰(zhàn)粹断。

首先先說(shuō)一下安全區(qū)

Safe Area

以往的其他iPhone屏幕都是長(zhǎng)方形的符欠,所以里面的顯示區(qū)域不會(huì)存在遮擋的現(xiàn)象。iPhone X由于全面屏的設(shè)計(jì)姿染,在屏幕的上方背亥,下方都變成了弧形的秒际,而控件都還是長(zhǎng)方形悬赏,所以就會(huì)出現(xiàn)顯示不全的情況。
為了解決遮擋的問(wèn)題娄徊,所在在設(shè)計(jì)的時(shí)候就要避開(kāi)這個(gè)區(qū)域闽颇,所以實(shí)際的iPhone X的安全區(qū)域就是圖上所畫(huà)的綠色的區(qū)域,而白色的區(qū)域寄锐,蘋(píng)果會(huì)根據(jù)上下的顏色而自動(dòng)填充兵多。

高度對(duì)比圖

在其他iPhone上狀態(tài)欄的高度為20個(gè)像素,而在iPhone X上狀態(tài)欄的高度變?yōu)榱?8個(gè)像素橄仆,并且在底部多出了48個(gè)像素剩膘。

當(dāng)我們打印iPhone X的屏幕尺寸時(shí)[UIScreen mainScreen].bounds.size 打印值為375x812注意這個(gè)812是算上安全區(qū)域的大小

好了知道這些,我就就知道怎么去適配屏幕了

1.一個(gè)界面一般都會(huì)有UITableView盆顾、UIScrollView怠褐、UICollectionView,并且一般會(huì)把這些作為底部視圖
這種情況下設(shè)置視圖大小的時(shí)候個(gè)人建議直接使用self.view.bounds就可以了您宪。
像iOS11中已經(jīng)廢除了automaticallyAdjustsScrollViewInsets這個(gè)方法,所以需要進(jìn)行版本判斷

 if (@available(iOS 11.0, *)) {
     self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
 }else {
     self.automaticallyAdjustsScrollViewInsets = NO;
 }

2.如果要拿出狀態(tài)欄的高度可以使用一個(gè)宏

// 屏幕寬高
#define kScreenW [UIScreen mainScreen].bounds.size.width
#define kScreenH [UIScreen mainScreen].bounds.size.height
// iPhone X 宏定義
#define iPhoneX (kScreenW == 375.f && kScreenH == 812.f ? YES : NO)
// 適配iPhone X 狀態(tài)欄高度
#define CF_StatusBarHeight (iPhoneX ? 44.f : 20.f)

3.如果要拿出導(dǎo)航欄的高度可以使用一個(gè)宏

// 適配iPhone X 導(dǎo)航欄高度
#define CF_NavHeight (iPhoneX ? 88.f : 64.f)

4.如果要拿出Tabbar的高度可以使用一個(gè)宏

// 適配iPhone X Tabbar距離底部的距離
#define CF_TabbarSafeBottomMargin (iPhoneX ? 34.f : 0.f)
// 適配iPhone X Tabbar高度
#define CF_TabbarHeight (iPhoneX ? (49.f+34.f) : 49.f)

iOS 11中如果不實(shí)現(xiàn)-tableView: viewForFooterInSection:-tableView: viewForHeaderInSection:奈懒,那么-tableView: heightForHeaderInSection:- tableView: heightForFooterInSection:不會(huì)被調(diào)用。
這是因?yàn)?code>estimatedRowHeight estimatedSectionHeaderHeight estimatedSectionFooterHeight三個(gè)高度估算屬性由默認(rèn)的0變成了UITableViewAutomaticDimension宪巨,導(dǎo)致高度計(jì)算不對(duì)磷杏,解決方法是實(shí)現(xiàn)對(duì)應(yīng)方法或吧這三個(gè)屬性設(shè)為0。

在使用圖片方面

4.7‘’及以下的設(shè)備目前使用的圖片全是@2x
plus系列和iPhone X使用的圖片是@3x

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末捏卓,一起剝皮案震驚了整個(gè)濱河市极祸,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌怠晴,老刑警劉巖贿肩,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異龄寞,居然都是意外死亡汰规,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)物邑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)溜哮,“玉大人滔金,你說(shuō)我怎么就攤上這事∶ぃ” “怎么了餐茵?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)述吸。 經(jīng)常有香客問(wèn)我忿族,道長(zhǎng),這世上最難降的妖魔是什么蝌矛? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任道批,我火速辦了婚禮,結(jié)果婚禮上入撒,老公的妹妹穿的比我還像新娘隆豹。我一直安慰自己,他們只是感情好茅逮,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布璃赡。 她就那樣靜靜地躺著,像睡著了一般献雅。 火紅的嫁衣襯著肌膚如雪碉考。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,146評(píng)論 1 297
  • 那天挺身,我揣著相機(jī)與錄音侯谁,去河邊找鬼。 笑死瞒渠,一個(gè)胖子當(dāng)著我的面吹牛良蒸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播伍玖,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼嫩痰,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了窍箍?” 一聲冷哼從身側(cè)響起串纺,我...
    開(kāi)封第一講書(shū)人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎椰棘,沒(méi)想到半個(gè)月后纺棺,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡邪狞,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年祷蝌,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片帆卓。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡巨朦,死狀恐怖米丘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情糊啡,我是刑警寧澤拄查,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站棚蓄,受9級(jí)特大地震影響堕扶,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜梭依,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一稍算、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧睛挚,春花似錦邪蛔、人聲如沸急黎。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)勃教。三九已至淤击,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間故源,已是汗流浹背污抬。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留绳军,地道東北人印机。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像门驾,于是被迫代替她去往敵國(guó)和親射赛。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • 隨著iOS11和xcode9剛開(kāi)始正式發(fā)布奶是,小編也迫不及待的更新了xcode9楣责,手機(jī)也順利更新到iOS,也終于見(jiàn)到...
    七秒記憶的魚(yú)兒閱讀 96,350評(píng)論 97 410
  • 今天更新了xcode9聂沙,也終于見(jiàn)到iPhone X 的真面秆麸,看著齊劉海的樣式,真心難看,怎么適配及汉,如何快速適配到項(xiàng)...
    貝勒老爺閱讀 4,262評(píng)論 3 25
  • 蘋(píng)果公司于2017年9月13日凌晨發(fā)布了兩款新的手機(jī)—— iPhon 8與iPhone X沮趣,作為全新的屏幕樣式 i...
    LearningCoding閱讀 6,038評(píng)論 2 6
  • 星期天 小雨 張榮軒媽媽 今天是國(guó)慶假期的最后一天,早上我便看到群里老師提醒孩子們收心準(zhǔn)備明天上學(xué)坷随,今天上午...
    愛(ài)意暖人心閱讀 205評(píng)論 0 1
  • \ 1\ 當(dāng)老師有三怕:一怕學(xué)生成績(jī)不好房铭,二怕學(xué)生出安全問(wèn)題漫贞,三怕當(dāng)“警察”來(lái)判案。這“三怕”里面育叁,班主任就占了倆...
    凡凡棒棒糖閱讀 538評(píng)論 0 1