iPhoneX-WebView适配问题

前言:

iOS11之后引入了安全区域的概念,对此的影响主要表现在scroview的子类,但是在适配安全区域的时候发现了一些不科学的现象,当然,没有偏离主题的,请继续往下看。

安全区域适配

if (@available(ios 11.0,*)) { UIScrollView.appearance.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever; }

不知道大家有没有在appdelegate里面写过这句话,这句话的意思就是不让scroview的子类自动适配安全区域。当你不写这句话你会发现,你的tableview拉到底之后顶上来了,正好是底部横杠的高度,但是当你写了之后就会发现这个功能能没有了。

回到主题WebView

大家可以尝试一下 当你加载一个页面内容没有超过全屏的时候,iphoneX下面那个横岗部分也就是安全区域内是不显示html内容的,对于一些页面内容较少,比如注册登录页面,底部不显示内容多难看,尤其是在你h5那边加载转转的时候到这边没有全屏,产品肯定会说你,如果解决,这里有几种解决办法,参考一下使用:

1.在iphoneX的时候增加webview高度34,这个方法太局限,不提倡

2.在iphoneX的时候改变webview.scroview的高度,这个方法我也不推荐,我没用过。

3.在iphoneX的时候设置webview.scroview.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;这个方法目前我感觉是最靠谱,直接让webview放弃适配安全区域,当然写上了这个,在webview滑到底部的时候就不会顶上来了。

问题疑惑

在这里有个疑惑,既然在appdelegate可以全局设置UIScrollViewContentInsetAdjustmentNever这个属性,为什么对webview布局无效,反而单独对webview.scorview设置的时候就有效。

如果有知道的大佬请您留言回复一下这个问题,分享解决问题的办法让大家一起进步。

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » iPhoneX-WebView适配问题

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址