今天使用WKWebView的时候遇到了一些坑和大家分享一下。
WKWebView返回向上移(64点)
刚开始显示没有问题但是,执行了goback返回上一级之后数据上移了64左右的点。
解决方案:
//这里的self是控制器
[self setAutomaticallyAdjustsScrollViewInsets:NO];
self.webView.y = 64;
self.webView.height = self.view.height - 64;
使用代理什么都没有调用写报错
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler{
//下面这句话一定不能少一少就报错
decisionHandler(WKNavigationActionPolicyAllow);
}
- (void)webView:(WKWebView *)webView decidePolicyForNavigationResponse:(WKNavigationResponse *)navigationResponse decisionHandler:(void (^)(WKNavigationResponsePolicy))decisionHandler{
//下面这句话一定不能少一少就报错
decisionHandler(WKNavigationResponsePolicyAllow);
}
返回控制器的时候报错
没有移除监听者,一般我们用WKWebView都会用kvo监听事件。没有移除会报错。
[self.webView removeObserver:self forKeyPath:@"estimatedProgress"];