美文网首页iOS
iOS11爬过的坑 一

iOS11爬过的坑 一

作者: RiberWang | 来源:发表于2017-09-21 19:26 被阅读67次

前言:北京时间2017年9月20日,iOS11正式版发布。控制中心、App Store、Siri、Apple Pay、AR、相机扫描二维码、截图、短信红包、全新设计的iPad功能,大家肯定早就迫不及待的升级新系统了。So,问题来了,我们这些开发者也需要适配iOS11了。。。

1,UITableView使用MJRefresh刷新位置错乱(tableview视图布局错乱),self.automaticallyAdjustsScrollViewInsets = NO;此方法在iOS11中不能使用,需使用以下方法

 if (@available(iOS 11.0, *)){

self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;

}

iOS11方法处理

@available(iOS 11, *)必须包含至少2个特性参数,其中iOS 11表示必须在 iOS 11 版本以上才可用。另外一个特性参数:星号(*),表示包含了所有平台。

未设置前

2,定位功能无法使用,控制台会打印信息,具体提示为plist文件需新增NSLocationAlwaysAndWhenInUseUsageDescription字段,定位总共需要3个字段,分别为

NSLocationAlwaysAndWhenInUseUsageDescription是否允许后台访问您的位置,获取所在城市的保险信息

NSLocationAlwaysUsageDescription是否允许后台访问您的位置,获取所在城市的保险信息

NSLocationWhenInUseUsageDescription是否允许访问您的位置,获取所在城市的保险信息

3,相册访问权限新增添加图片到相册,具体提示为plist文件需新增NSPhotoLibraryAddUsageDescription字段,相机、相册总共需要3个字段,分别为

NSCameraUsageDescription是否允许访问您的相机

NSPhotoLibraryAddUsageDescription是否允许添加图片到您的相册

NSPhotoLibraryUsageDescription是否允许访问您的相册

4,IQKeyboardManager键盘问题

(1)视图过长,第一次点击textField区域,视图定位到那个区域,并不能弹出键盘,第二次点击才能弹出键盘(不知道是不是IQ故意为之,暂时未能解决此问题)

(2)由于项目需求,需定制弹出视图,于是我们就使用textfield键盘的inputView作为自定义视图的容器,这样就简化了弹出和关闭的一些操作。由于iOS11的出现,IQ更新了一些方法,原来使用的设置键盘的方法已移除(具体移除原因不清楚,未见说明),IQUIView+IQKeyboardToolbar.h中移除了一些属性。

移除的方法

(3)使用新方法[self.insStartDateTF addLeftRightOnKeyboardWithTarget:self leftButtonTitle:@"取消" rightButtonTitle:@"完成" leftButtonAction:@selector(cancel) rightButtonAction:@selector(insStartDoneAction:) shouldShowPlaceholder:YES];这里传递事件的sender是一个IQBarButtonItem,我这里只能通过方法名来区分每个完成所出发的事件,不明白为什么不能写成一个方法名来区分触发的事件,希望大神能指点一下。

新的方法(不一定是新增的方法,是我使用的新的方法)

(4)下面的这里初始化不能设置frame,这样设置的位置会偏移,直接初始化,默认使用键盘的宽高

初始化弹出视图 统一设置键盘所弹出的视图

5,导航栏的Item不能均分,UIBarButtonSystemItemFlexibleSpace无作为,暂时没能找到很好的解决方案,下下策只能是自定义导航栏了。

6,添加tableView和collectionView的预估高度,footer和header高度的方法在iOS 11上不会走了

self.tableView.estimatedSectionHeaderHeight = 0;

self.tableView.estimatedSectionFooterHeight = 0;

或者重写返回footer和header的view也可以。

以上都是我亲身经历过的,有些已经解决,有的还在解决中,有的暂时解决不了,希望和大家一起爬坑。

相关文章

  • iOS11爬过的坑 一

    前言:北京时间2017年9月20日,iOS11正式版发布。控制中心、App Store、Siri、Apple Pa...

  • iOS - 爬过的坑

    长时间运行的线程可能需要新建额外的autoreleasepool来频繁的释放它的对象. 取决于实际代码表现, 适当...

  • 记爬过的坑

    坑一、 在使用jQuey()选择器方法选元素的时候含有特殊字符(. [ ] * 等)之类,如jQuery(“#m...

  • iOS中爬过的坑

    TableView 在ios10的tableView中遇到过tableView偏移的问题(即离上方导航栏有一定的间...

  • Vue,Element 爬过的坑

    1. 浏览器地址栏出现 #/ 解决办法:http://www.cnblogs.com/zhuzhenwei918/...

  • React Native爬过的坑

    1、小米手机上跑RN,先去把开发者选项中的MIUI优化选项关闭掉; 2、在调试的时候,一enable remote...

  • RxSwift-爬过的坑

    RxSwift是一个非常好用的框架,如果你喜欢用Swift开发,那么RxSwift是你不二的选择,函数响应式的结果...

  • 音频变速爬过的坑

    sonic和soundtouch两个库都用过。用法差不多。项目上线用的是soundtouch。做视频编辑,本来op...

  • paypal支付爬过的坑

    申请账号,creat app (需要邮件确认) okhttp3貌似在paypal里面有,不需要再次添加引用或者导入jar

  • VirtualApk demo爬过的坑

    程序员需要跨过山河大海,哪有没有走过的坑。一直想学习一下滴滴的插件化,一直没有时间,今天抽空弄了一下,还是有一些细...

网友评论

    本文标题:iOS11爬过的坑 一

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