iOS iPhoneX-WebView适配问题

来源:互联网 发布:阿里云服务器续费 编辑:程序博客网 时间:2024/05/07 18:58

前言:


iOS11之后引入了安全区域的概念,对此的影响主要表现在scrollview的子类,但是在适配安全区域的时候发现了一些不科学的现象。


安全区域适配


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


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


回到主题WebView


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


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


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


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


问题疑惑


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


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



原创粉丝点击