码迷,mamicode.com
首页 > 移动开发 > 详细

适配ios11与iphone x实践

时间:2017-10-11 20:24:50      阅读:885      评论:0      收藏:0      [点我收藏+]

标签:sed   分组   初始化   工程   bsp   https   request   查找   nbsp   

一、适配iOS11

问题1:项目中有原生与H5的交互,运行在iOS11时,直接漰溃在框架WebViewJavascriptBridge内部。

报错信息:Completion handler passed to -[WKWebViewJavascriptBridge webView:decidePolicyForNavigationAction:decisionHandler:] was called more than once

解决:当时第一时间肯定是立即看github上该框架的issue,果然找到了解决方案。该issue链接:https://github.com/marcuswestin/WebViewJavascriptBridge/issues/302,详情如下图技术分享

按照上述提供的解决方案修改就好了,下图是修改前与修改后对比 ( 左图修改前,右图修改后 )

技术分享           技术分享

 

问题2:用户首次安装时, 定位权限框不弹出?

解决:原来在ios 11内权限的请求被降级了,因为之前工程内首次请求定位权限使用的方法为requestAlwaysAuthorization,但在ios11内要使用requestWhenInUseAuthorizationf

技术分享

 

问题3:tableView,scrollView,WkWebView等显示内容出现向下偏移。由于app首面就用了一个类似支付宝首页的滑动交互,scrollView上套了一个tableView,所以连滑动的效果也都一起出了问题。

解决:通过网上查找信息,发现ios11内scrollView多了一个contentInsetAdjustmentBehavior属性(默认UIScrollViewContentInsetAdjustmentAutomatic),在系统导航栏下,默认向下产生了偏移。因为工程内自己创建的tableView,scrollView,WKWebView都分别继承匪类xxbaseTableView, xxbaseScrollView, xxbaseWKWebView, 所以修改直接就在它们初始化时加下如下代码

技术分享

对xxbaseWKWebView则是self.scrollView.contentInsetAdjustmentBehavior

修改好后,经测试,那些不正常的页面确实正常了。之前在网上看到有人解决方案是在appdelegate里

[UIScrollView appearance].contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;

[UITableView appearance].contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;

这样确实可以解决这个问题,但是在调用出系统相册的地方,会导致系统相册页面的tableView自动向上移,即这个属性会影响到一些系统控制器内的UIScrollView,UITableView的偏移,所以不太建议使用这种方案。

 

问题4:ios11中tableView分组间距变大。

解决:原来组尾间距之前实现了heightForFooterInSection,而没有实现viewForFooterInSection方法,在ios11之前是没问题,但现在就都要实现,如果不需要他们之前有间距需要这样设置

技术分享

 

二、适配iPhone x

问题1:在iPhone x模拟器上有tabBar时,push页面底部的tabBar会向上跳动一下,然后返回回来后又是tabBar又正常,再push又会跳动。

解决:在拦截所有控制器push的地方加上如下代码

技术分享

 

问题2:关于iPhone x导航栏和底部TabBar高度及安全区的适配。如果不适配最直观现象就是iPhone x页面被辅满,显示内容被顶部刘海和底部home指示器挡住。

解决:

  a 关于导航栏:因为工程内没有用到系统的导航条,是完全自定义的一个view,所以iPhone x上只要将它的高度由64变高到

——————  未完待续 ——————

 

适配ios11与iphone x实践

标签:sed   分组   初始化   工程   bsp   https   request   查找   nbsp   

原文地址:http://www.cnblogs.com/buerjj/p/7652120.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!