1.UITableView:默認(rèn)開啟Self-Sizing
我們不需要自己去計算 cell 的高度, ,只要設(shè)置好兩個屬性, 約束好布局, 系統(tǒng)會自動計算好 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被降級為NSLocationWhenInUseUsageDeion。因此,在原來項目中使用requestAlwaysAuthorization獲取定位權(quán)限,而未在plist文件中配置NSLocationAlwaysAndWhenInUseUsageDeion,系統(tǒng)框不會彈出。建議新舊key值都在plist里配置,反正我試下來是沒有問題,唯一的區(qū)別是使用requestAlwaysAuthorization獲取權(quán)限 IOS11系統(tǒng)彈框會把幾種權(quán)限級別全部列出,供用戶選擇,顯然更人性化了哈~~

獲取位置權(quán)限.png
3.Navigation Bar
navigation bar 的titleView支持了 layout
titleView對應(yīng)的View大小和預(yù)期不一致。
titleView對應(yīng)的View有點擊事件會無法觸發(fā)
解決方法是直接重寫titleView對應(yīng)View的intrinsicContentSize方法
- (CGSize)intrinsicContentSize {
return UILayoutFittingExpandedSize;
}