iOS系统差异

2019-02-12  本文已影响3人  冰风v落叶

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

10异常,12正常.jpeg
总结:为了适配多系统,最好不要使用安全区域来控制顶部距离;
想控制顶部的距离,可以先设置一个距离顶部的约束,然后根据机型的不同,调整约束为导航栏的高度

3. 使用UIScrollView及其子类的时候,要注意iOS10系统和iOS12之间的差异:

`如果不加下面代码,在iOS10就会出现异常布局`
if #available(iOS 11.0, *) {
    imageCollectionView.contentInsetAdjustmentBehavior = .never
} else {
    self.automaticallyAdjustsScrollViewInsets = false
}
10异常,12正常.jpeg
总结:当界面中有ScrollView及其子类的时候,最好将automaticallyAdjustsScrollViewInsets手动赋值,以避免不同系统带来的差异

4.

欢迎大家补充新的差异及导致这些差异的原因,2019共同进步!

上一篇下一篇

猜你喜欢

热点阅读