問題1:打開項(xiàng)目,發(fā)現(xiàn)上下各有一大塊黑色區(qū)域
解決:使用launchScreen的話,勾選Use Safe Area Layout Guides 這個(gè)選項(xiàng)即可;使用launchImage的話,增加iPhone X的啟動圖1125*2436,json內(nèi)容如下:
{
"extent" : "full-screen",
"idiom" : "iphone",
"subtype" : "2436h",
"filename" : "1125*2436.png",
"minimum-system-version" : "11.0",
"orientation" : "portrait",
"scale" : "3x"
}
額外:簡單說一下safe layout guides ,是保證view不被其他view擋住可完整顯示的UIView的一個(gè)屬性,可以避開狀態(tài)欄,導(dǎo)航欄,tabbar等一些view。
問題2:引導(dǎo)頁距底部尺寸不對,
解決:使用了導(dǎo)航欄,安全區(qū)域?qū)е律舷鹿灿?8px的高度差,圖片被拉伸,效果就不對了。可以在安全區(qū)域建立正常寬高比的圖片,也可以制作適配iPhone X的引導(dǎo)頁,只要UI妹妹選擇原諒你。
問題3:視圖距離頂部的尺寸不對,目測還是狀態(tài)欄尺寸改變引起的
解決:iOS 11 automaticallyAdjustsScrollViewInsets 被ScrollerView的contentInsetAdjustmentBehavior 替換了。對于頂部是輪播圖,我的做法是設(shè)置除iPhone X外為UIScrollViewContentInsetAdjustmentNever,iPhone X為UIScrollViewContentInsetAdjustmentAlways,并將導(dǎo)航欄顏色設(shè)置為黑色,字體白色,UIView *statusBar = [[[UIApplication sharedApplication] valueForKey:@"statusBarWindow"] valueForKey:@"statusBar"];
if ([statusBar respondsToSelector:@selector(setBackgroundColor:)]) {
statusBar.backgroundColor = [UIColor blackColor];
}
問題4:iPhone X上,隱藏了導(dǎo)航欄,mj_header的頂部位置不對
解決:mj對scrollview的inset的修改對于iPhone X的安全區(qū)域沒有適配,要么等待大神更新版本,要么自己修改源碼。