1. 在使用automaticDimension
自动计算高度时,iOS10和iOS12有所差异:
tableView.rowHeight = UITableView.automaticDimension
`如果不写estimatedRowHeight,在iOS12上显示正常,iOS10上就会显示不出来`
tableView.estimatedRowHeight = 50
10异常,12正常.jpeg
总结 : 使用automaticDimension
时,必须加上estimatedRowHeight
2. 在使用安全区域时,iOS10和iOS12有所差异:
例如:设置控件距离顶部安全区域的约束为0,
在iOS10中,控件的Y坐标为0
在iOS12中,控件的Y坐标为20/64
总结:为了适配多系统,最好不要使用安全区域来控制顶部距离;
想控制顶部的距离,可以先设置一个距离顶部的约束,然后根据机型的不同,调整约束为导航栏的高度
3. 使用UIScrollView及其子类的时候,要注意iOS10系统和iOS12之间的差异:
`如果不加下面代码,在iOS10就会出现异常布局`
if #available(iOS 11.0, *) {
imageCollectionView.contentInsetAdjustmentBehavior = .never
} else {
self.automaticallyAdjustsScrollViewInsets = false
}
10异常,12正常.jpeg
总结:当界面中有ScrollView及其子类的时候,最好将
automaticallyAdjustsScrollViewInsets
手动赋值,以避免不同系统带来的差异
网友评论