1.UITableView滑動(dòng)時(shí)右側(cè)的滑動(dòng)條忽長忽短的亂跳以及MJRefresh上拉刷新死循環(huán)
這是因?yàn)閠ableView在iOS11默認(rèn)使用Self-Sizing,tableView的estimatedRowHeight播歼、estimatedSectionHeaderHeight聪黎、estimatedSectionFooterHeight三個(gè)高度估算屬性由默認(rèn)的0變成了UITableViewAutomaticDimension壤靶,MJRefresh的KVO會(huì)監(jiān)聽錯(cuò)誤的contentoffset,造成不停進(jìn)行上拉加載操作,
解決方法可以再全局里面將上面3個(gè)屬性的默認(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(iOS 11.0, *)) {
UIScrollView.appearance.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
} else {
// Fallback on earlier versions
self.automaticallyAdjustsScrollViewInsets = NO;
然而這樣寫在調(diào)用相冊的時(shí)候當(dāng)推出系統(tǒng)相冊的時(shí)候?qū)⑾到y(tǒng)頁面contentSize的下移取消掉了導(dǎo)致出現(xiàn)了大問題掘譬,所以又將上面的默認(rèn)值去掉在特定的界面修改即可
3.項(xiàng)目在iPhone X上運(yùn)行時(shí)上下都有巨大的黑邊
解決方法:因?yàn)轫?xiàng)目中是用Assets中的LaunchImage, 這樣就可以修改Assets中的LaunchImage泰演,添加iPhoneX的Launch圖(1125*2436)即可,但是
iOS 11以前葱轩,導(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也需要修改其適配方案。