1.UITableView:默認(rèn)開啟Self-Sizing
我們不需要自己去計(jì)算 cell 的高度, ,只要設(shè)置好兩個(gè)屬性, 約束好布局, 系統(tǒng)會(huì)自動(dòng)計(jì)算好 cell 的高度
在 iOS 11之前, estimatedRowHeight默認(rèn)為0, self.sizing 打開后, contentSize 和contentOffset都可能改變, 可以通過以下方式禁止
self.tableView.estimatedRowHeight = 0;
self.tableView.estimatedSectionHeaderHeight = 0;
self.tableView.estimatedSectionFooterHeight = 0;
2.NSLocationAlwaysAndWhenInUseUsageDeion
在IOS11刀诬,原有的NSLocationAlwaysUsageDeion被降級(jí)為NSLocationWhenInUseUsageDeion忆某。因此,在原來項(xiàng)目中使用requestAlwaysAuthorization獲取定位權(quán)限喜滨,而未在plist文件中配置NSLocationAlwaysAndWhenInUseUsageDeion赴捞,系統(tǒng)框不會(huì)彈出。建議新舊key值都在plist里配置早抠,反正我試下來是沒有問題囚痴,唯一的區(qū)別是使用requestAlwaysAuthorization獲取權(quán)限 IOS11系統(tǒng)彈框會(huì)把幾種權(quán)限級(jí)別全部列出,供用戶選擇族展,顯然更人性化了哈~~
3.Navigation Bar
navigation bar 的titleView支持了 layout
titleView對(duì)應(yīng)的View大小和預(yù)期不一致森缠。
titleView對(duì)應(yīng)的View有點(diǎn)擊事件會(huì)無法觸發(fā)
解決方法是直接重寫titleView對(duì)應(yīng)View的intrinsicContentSize方法
- (CGSize)intrinsicContentSize {
return UILayoutFittingExpandedSize;
}