Ios WKWebView+;contentInset使内容大小错误
在iOS上,当您在Ios WKWebView+;contentInset使内容大小错误,ios,webkit,wkwebview,Ios,Webkit,Wkwebview,在iOS上,当您在WKWebView的滚动视图上设置contentInset时,似乎会使web视图认为页面的内容比实际内容大。例如,如果您为一个大部分为空的页面提供顶部或底部的contentInset,则即使没有可滚动的内容,您也可以向下滚动页面 这是预期的行为吗?是否有一种解决方法仍然允许我使用contentInset?问题是WKWebView似乎总是使用其框架作为其视口大小,而忽略了减去滚动视图的contentInset。我找到了一条路 其思想是手动或使用自动布局约束将WKWebView的框
WKWebView
的滚动视图上设置contentInset
时,似乎会使web视图认为页面的内容比实际内容大。例如,如果您为一个大部分为空的页面提供顶部或底部的contentInset
,则即使没有可滚动的内容,您也可以向下滚动页面
这是预期的行为吗?是否有一种解决方法仍然允许我使用
contentInset
?问题是WKWebView
似乎总是使用其框架作为其视口大小,而忽略了减去滚动视图的contentInset
。我找到了一条路
其思想是手动或使用自动布局约束将WKWebView的框架设置为所需的视口大小。要恢复contentInset
的“滚动显示”效果,请禁用滚动视图的masksToBounds
:
wkWebview.scrollView.layer.masksToBounds = NO;
weiyin的(调整web视图框架的大小)对我很有用
只想分享一个代码示例:
CGFloat topInset = ...;
web.scrollView.layer.masksToBounds = NO;
[web.scrollView setContentInset:UIEdgeInsetsMake(topInset, 0, 0, 0)];
[web setFrame:CGRectMake(0, 0, web.width, web.height-topInset)];
四年后,这个问题仍然存在 工作很好,但如果你像我一样,你可能会有点费劲弄清楚到底要做什么(尽管这真的很简单) 下面是对傻瓜(比如我)的一个简单解释:
clipsToBounds=false
(在包装器视图上设置true
)
webview.contentInset=.zero
)
(这是默认设置,通常不需要设置)
- 在不使用内容插入的情况下,Web视图上100%的内容插入行为。
滚动条是。。。向左8点。(@zoltan)你可以一直向后移动它:。