一. iPhone X 適配
1.iPhone X 屏幕上下有黑道氛谜,沒有沾滿全屏
解決辦法:LaunchImage 中添加一個(gè)和iPhone X相關(guān)的啟動(dòng)圖片
? ? ? ? ? ? ? ? ? ? 圖片尺寸:1125 * 2436
Contents.json 中代碼如下
{
"extent" :"full-screen",
"idiom" :"iphone",
"subtype" :"2436h",
"filename" :"1125_2436.png",
"minimum-system-version" :"11.0",
"orientation" :"portrait",
"scale" :"3x"}
2.頁面布局細(xì)節(jié)
iPhone X 取消了 Home鍵宴合,實(shí)現(xiàn)了高屏占比渠啊,所以默認(rèn) View 的區(qū)域是全屏幕
屏幕四周有圓角迷帜、頂部有“劉何锸妫”、底部有手勢(shì)區(qū)域
注意:導(dǎo)航欄高度是 44 + 44
Safe Area 如下圖 (紅色區(qū)域) -(復(fù)制來源http://blog.csdn.net/chenyblog/article/details/77987751)
iOS11 以前戏锹,我們布局時(shí)冠胯,視圖的 top 和 bottom 一般參照的是Top Layout Guide和Bottom Layout Guide
iOS11 以后,那兩個(gè)參照已經(jīng)deprecated(過時(shí))了锦针,而被Safe Area取代荠察。
Safe Area要求最低支持iOS9.0 ? ?以此來解決下圖問題
二. iOS 11 適配
1. tableview ?出現(xiàn)現(xiàn)象,grouped類型奈搜,tableSectionheader/footer 的高度不受控制
解決辦法:先實(shí)現(xiàn)view for SectionHeader/footer悉盆,默認(rèn)不實(shí)現(xiàn)view不會(huì)走高度的代理
2.msaonry 布局例如:
table.mas_makeConstraints { (make) -> Void in
if #available(iOS 11.0, *) {
_ = make?.edges.mas_equalTo()(self.view.safeAreaInsets) // 安全區(qū)域
} else {
// Fallback on earlier versions
_ = make?.edges.mas_equalTo()(self.view)
}
}
3.iOS 11中ViewController的automaticallyAdjustsScrollViewInsets屬性被廢棄了,導(dǎo)致了這頁面出現(xiàn)了透明導(dǎo)航欄布局問題
解決辦法:
if (@available(iOS 11.0, *)) {
self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
} else {
self.automaticallyAdjustsScrollViewInsets = NO;
}
4. navigationtitle, 上有searchbar
效果圖:
5.tableview ?布局問題
參考視頻:https://developer.apple.com/videos/play/fall2017/201/
https://developer.apple.com/videos/play/fall2017/801/
未完待續(xù)馋吗。焕盟。。