美文网首页iOS分享的demo程序员iOS程序猿
IOS11适配遇到的问题总结(一)

IOS11适配遇到的问题总结(一)

作者: 李筱野 | 来源:发表于2017-09-22 15:06 被阅读189次

昨天手欠更新到Xcode9,顺便把手机也升级到IOS11,更新才发现还是以前的好,心累啊。开始各种适配,这里只备注一下自己适配过程中遇到的问题以及解决办法
1.关于tableview的contentInset问题,这个是在使用MJRefesh过程中发现的,后来网上查了一下,原来IOS11废弃了automaticallyAdjustsScrollViewInsets这个属性,新增了一个contentInsetAdjustmentBehavior来代替他,那么我们在做的时候需要加一个判断:

if (@available(iOS 11.0, *)) {
       self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
       self.tableView.contentInset = UIEdgeInsetsMake(64, 0, 0, 0);
       self.tableView.scrollIndicatorInsets = self.tableView.contentInset;
   } else {
       self.tableView.contentInset = UIEdgeInsetsMake(5, 0, 0, 0);
   }

这个建议写在基类里面或者定义一个宏.不然要写的地方很多。
2.关于检测是否开启定位的判断.在iOS11之前,一直都是使用kCLAuthorizationStatusAuthorizedAlways来进行检测是否开启定位服务。
if ([CLLocationManager authorizationStatus] != kCLAuthorizationStatusAuthorizedAlways)
但是到了IOS11 苹果禁止了always这个枚举值,但是并没有废弃,这就尴尬了,所以换了另一个枚举值
if ([CLLocationManager authorizationStatus] != kCLAuthorizationStatusAuthorizedWhenInUse),这样就可以检测了.
未完待续!!!

相关文章

网友评论

    本文标题:IOS11适配遇到的问题总结(一)

    本文链接:https://www.haomeiwen.com/subject/wzdfextx.html