iOS11适配遇到的问题

最近写一个拼车项目,马上提交测试了发现在 iOS10上边很多地方崩溃,由于笔者所有 UI界面都是用 xib 完成的,导致 iOS11一些新的特性,没有办法在 iOS10上使用,具体如下.

1 使用到 New Color Set 导致运行在 iOS10上边崩溃

Terminating app due to uncaught exception 'NSInvalidUnarchiveOperationException',
 reason: 'Could not instantiate class named _UIColorAttributeTraitStorage'

image.png

虽然我在代码层面做过了版本适配 ,但是xib 上的就没法使用了,所幸 xib 中使用到 New Color Set 地方不多,很快就替换成16进制颜色.

iOS11适配遇到的问题_第1张图片
image.png

2 UITableViewCell高度在 iOS10上边不正确
iOS11我使用的是 safeArea Autolayout tableView 高度都是交给系统去计算 ,设置UITableViewCell高度为 UITableViewAutomaticDimension.

image.png

这个问题也好解决 ,由于我所有 TableView 都是在 YVBaseViewController 里边创建,只需要在YVBaseViewController里边添加如下代码即可解决问题.

iOS11适配遇到的问题_第2张图片
image.png

总结 : 之前一直未在 iOS10上边运行,导致今天发现 iOS10上边会出现崩溃,除了要不Assets.xcassets里边的 Color Set 删除外,其他方面改动不大.笔者由于所有地方UI 界面都是在 xib 上完成,所以修复时候只需要针对 xib文件即可.

写在最后笔者还是推荐使用 IB 来搭建 UI 界面,高效快速搞定界面布局,将主要精力用在业务逻辑方面. 业务功能采用继承和多态可以减少很多重复代码, xib 其实也可以通过复制粘贴快速创建的,让 UI 界面不再花去你大量时间.

好了,我是大兵布莱恩特,欢迎加入博主技术交流群,iOS 开发交流群

iOS11适配遇到的问题_第3张图片
QQ20180712-0.png

你可能感兴趣的:(iOS11适配遇到的问题)