- 針對(duì)iphone x 會(huì)出現(xiàn)上下的黑框的原因:因?yàn)閕phone x 的屏幕高度變高了掏缎,需要增加一張啟動(dòng)圖扰才,尺寸為 1125px * 2436px
iphone x 的屏幕高度變大了温学,高度增加了145pt====》 變成了 812pt
iphone x 圓角留有 10pt
狀態(tài)欄 ----> 由原來的20pt乳愉,變成了 44pt;
導(dǎo)航欄 ----> 由原來的64pt送挑, 變成了88pt;
底部工具欄 : home indicator 留有 34pt 的邊距;
物理分辨率 : 1125px * 2436px
UIView 和 UIViewController 新增屬性
safeAreaInsets
: 適用于手動(dòng)計(jì)算哈误。
safeAreaLayoutGuide
: 適用于 自動(dòng)布局
8.新增安全域
的概念
由原來的狀態(tài)欄 : status bar
變成: safeAreaInsets.top
【安全域頂部間距】
原來的 64 = 44[導(dǎo)航欄內(nèi)容區(qū)域] + 20 [狀態(tài)欄區(qū)域]
變成 : 88 = 44 [導(dǎo)航欄內(nèi)容區(qū)域] + 44 [safeAreaInsets.top]iOS11 為UIViewController 和UIView 新增了一個(gè)方法 :
-(void)viewSafeAreaInsetsDidChange
此方法的第一次調(diào)用時(shí)間 : 在viewWillAppear
調(diào)用之后哩至,在viewwillLayoutSubviews
調(diào)用之前若要改變一個(gè) UIViewController 的 safeAreaInsets 值,可以通過設(shè)置
addtionalSafeAreaInsets
屬性iOS 11 之前蜜自,布局時(shí)菩貌,參照視圖top 和 bottom , Top Layout Guide 和 Bottom Layout Guide.
iOS 11 之后重荠, 參照改為 safe Area.
對(duì)于滾動(dòng)視圖而言箭阶,iOS 11 中,
automaticallyAdjustsScrollViewInsets
被廢棄戈鲁, 決定滾動(dòng)視圖
【eg: UITableView 或者 UIScrollView】 的內(nèi)容和邊距的是 :contentInsetAdjustmentBehavior
和adjustContentInset
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。