我遇到了一个问题,在我将手机升级到iOS 10 beta 3后,当我在我的应用中缩放WKWebView时,缩放功能不仅缩放了网页的内容,还缩放了页面本身。
查看我附上的图片。 WKWebView that fails to zoom correctly.我将WKWebView的背景颜色设置为蓝色,当我捏缩缩视图时,页面(容器?)本身也缩小了,导致不利的结果。 在iOS9中不会发生。当我做同样的事情时,蓝色背景不显示。
该网页使用AngularJS
编写,图表 lib 为d3js
。
相关代码如下。
-(void) reloadWebPage{
[activityIndicator startAnimating];
NSString *indexToPath = [self getIndexHtmlPath];
NSURL *fileUrl = [NSURL fileURLWithPath:indexToPath];
NSURL *absoluteUrl = fileUrl.absoluteURL;
if(currentGroup == nil){
currentGroup = @"0";
}
NSString *absoluteString = [[absoluteUrl absoluteString] stringByAppendingFormat:@"%@%@", @"?currentGroup=", currentGroup];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:absoluteString] ];
[webView loadRequest:request];
}
- (void)createWebView{
WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];
[config.userContentController addScriptMessageHandler:self name:@"interOp"];
webView = [[WKWebView alloc] initWithFrame:self.view.frame configuration:config];
[webView setBackgroundColor:[UIColor blueColor]];
[webView setNavigationDelegate:self];
[webView setUIDelegate:self];
}
我不知道问题出在哪里?它是在Objective C,iOS10还是Javascript中?
请建议,我该如何解决这个问题?
谢谢
答案 0 :(得分:0)
好的,我通过在WKWebView
中禁用缩放和滚动来解决了这个问题。
webView.scrollView.scrollEnabled = false;
- (UIView*) viewForZoomingInScrollView:(UIScrollView *)scrollView{
return nil;
}
添加这些代码后,WKWebView
本身不再缩放,而是在节点正常移动和缩放时移动。
这个问题似乎与Disable magnification gesture in WKWebView有些相关,但是 我还是不知道是什么导致了从iOS9到iOS10的变化。但它似乎对我有用。