導(dǎo)讀1.UITableView滑動(dòng)時(shí)右側(cè)的滑動(dòng)條忽長(zhǎng)忽短的亂跳以及MJRefresh上拉刷新死循環(huán)這是因?yàn)閠ableView在iOS11默認(rèn)使用Self-Sizing,tableView的estimat... 1.UITableView滑動(dòng)時(shí)右側(cè)的滑動(dòng)條忽長(zhǎ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)聽(tīng)錯(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; } 然而這樣寫(xiě)在調(diào)用相冊(cè)的時(shí)候當(dāng)推出系統(tǒng)相冊(cè)的時(shí)候?qū)⑾到y(tǒng)頁(yè)面contentSize的下移取消掉了導(dǎo)致出現(xiàn)了大問(wè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也需要修改其適配方案。 總結(jié) 以上所述是小編給大家介紹的iOS 11更新后及iPhone X推出后工程中遇到的問(wèn)題及適配,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)本站網(wǎng)站的支持!
您可能感興趣的文章:
|
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!