wkwebview 下移20像素_WKWebView 底部视图显示不全

好早之前遇到的这个问题,用WKWebView 显示界面时,最底部的悬浮窗口少了不少像素。这是之前用UIWebView没有遇到过的。

image.png

image.png

这个问题只出现在ios10 , ios11应该是已经修复了。(反正我没有再遇到了)

先写解决方法,再说探求过程。

这个问题是导航栏导致的。也算是苹果的bug。将导航栏设置为不透明,问题直接就解决了。

self.navigationController.navigationBar.translucent = NO;

----------------------------------------------------------华丽的分割线----------------------------------------------

下面我们来调试下ios10下的WKWebview加载网页。底部悬浮窗是消失的。于是我打印了下偏移。

NSLog(@"self offic = %@",NSStringFromCGPoint(_wkWebView.scrollView.contentOffset));

NSLog(@"self frame = %@",NSStringFromCGRect(_wkWebView.scrollView.frame));

image.png

发现了么。offset的Y轴偏移量是-64。刚好是底部消失的距离。然后我猜测这个距离刚好和导航栏高度有关 (有些朋友消失20像素,我还没有研究,但是我感觉是跟状态栏有关)。

想起ios的排版方式,如果导航栏带透明。frame排版是从导航栏上开始的。如果不透明则在导航栏下面开始排布。所以猜测和透明度有关。事实证明。猜对了!!!

将导航栏设为不透明之后再打印。

image.png

界面也回归正常。

本来以为这个问题遇到的人不多。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值