iOS11出來了,大家都忙著適配,資料的話網(wǎng)上也有很多,這里總結(jié)一下最近遇到的一些問題吧。
1.iOS 11 安全區(qū)域適配總結(jié)
iOS 11 安全區(qū)域適配總結(jié)這篇博客寫的已經(jīng)很詳細(xì)了仍劈。在這里說一下筆者遇到的問題。當(dāng)時是公司網(wǎng)絡(luò)太慢摧玫,mac系統(tǒng)升級和xcode9升級花了兩天才升級好耳奕。當(dāng)時需要做適配,沒有xcode9诬像,無法直接調(diào)試屋群。只能在xcode8下面寫代碼,通過jenkins
打包坏挠,安裝到iOS11的機(jī)器上去芍躏。非常無奈...
// 這句代碼適配ios11,在xcode8無法使用降狠,
tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
//所以變?yōu)橄旅娴?
if ([tableView respondsToSelector:@selector(setContentInsetAdjustmentBehavior:)]) {
//在xcode8下進(jìn)行適配
[tableView performSelector:@selector(setContentInsetAdjustmentBehavior:) withObject:@2];
}
2.系統(tǒng)版本判斷对竣,@available
關(guān)鍵字是在xcode 9出現(xiàn)在庇楞,在后面升級到xcode 9之后,我用了下面代碼做判斷否纬,但是jenkins
無法打包(jenkins未升級
)吕晌,所以只能換成其他方法判斷了。
if (@available(iOS 11.0, *)) {
}
3.tableview滾動問題临燃,筆者有遇到滾動的問題睛驳,滾動到對應(yīng)的cell不準(zhǔn)確,在iOS 11之前是沒有問題的膜廊,iOS 11之后應(yīng)該是由于開啟了估算行高機(jī)制引起了bug乏沸。
self.tableView.estimatedRowHeight = 0;
self.tableView.estimatedSectionHeaderHeight = 0;
self.tableView.estimatedSectionFooterHeight = 0;