1.UITableView滑動時右側(cè)的滑動條忽長忽短的亂跳以及MJRefresh上拉刷新死循環(huán)
這是因為tableView在iOS11默認(rèn)使用Self-Sizing扒腕,tableView的estimatedRowHeight、estimatedSectionHeaderHeight、estimatedSectionFooterHeight三個高度估算屬性由默認(rèn)的0變成了UITableViewAutomaticDimension闪檬,MJRefresh的KVO會監(jiān)聽錯誤的contentoffset甥厦,造成不停進(jìn)行上拉加載操作,
解決方法可以再全局里面將上面3個屬性的默認(rèn)值設(shè)置為0即可
UITableView.appearance.estimatedRowHeight?=0;
UITableView.appearance.estimatedSectionFooterHeight?=0;
UITableView.appearance.estimatedSectionHeaderHeight?=0;
2.在iOS 11中tableview的contentsize默認(rèn)下移了64高度
在iOS 11中UIViewCOntroller的 automaticallyAdjustsScrollViewInsets 屬性被廢棄了取而代之的是UIScrollVIew的contentInsetAdjustmentBehavior屬性拯杠,同樣的也可以更改默認(rèn)的值
if(@available(iOS11.0,?*))?{
UIScrollView.appearance.contentInsetAdjustmentBehavior?=?UIScrollViewContentInsetAdjustmentNever;
}else{
//?Fallback?on?earlier?versions
self.automaticallyAdjustsScrollViewInsets?=?NO;
}
然而這樣寫在調(diào)用相冊的時候當(dāng)推出系統(tǒng)相冊的時候?qū)⑾到y(tǒng)頁面contentSize的下移取消掉了導(dǎo)致出現(xiàn)了大問題善涨,所以又將上面的默認(rèn)值去掉在特定的界面修改即可
3.項目在iPhone X上運行時上下都有巨大的黑邊
解決方法:因為項目中是用Assets中的LaunchImage, 這樣就可以修改Assets中的LaunchImage窒盐,添加iPhoneX的Launch圖(1125*2436)即可草则,但是
iOS11以前钢拧,導(dǎo)航欄的高度是64,其中狀態(tài)欄statusBar的高度是20炕横,底部tabbar的高度是49源内。
iOS 11之后,iPhoneX的導(dǎo)航欄的高度是88份殿,其中狀態(tài)欄的statusBar的高度變成了44膜钓, 底部的tabbar變成了83。
iPhoneX的底部增加了虛擬Home區(qū)卿嘲,由于安全區(qū)域的原因默認(rèn)tabBar的高度由49變?yōu)?3颂斜,增高了34,所以自定義的底部TabBar也需要修改其適配方案拾枣。