2016-08-05 136 views
0

我遇到了一個問題,我升級手機到iOS 10 beta 3,當我在我的應用程序中縮放WKWebView時,縮放功能不僅縮放網頁的內容,而且還頁面本身。WKWebView在iOS10中捏縮放

看到我附上的圖片。 WKWebView that fails to zoom correctly.我將WKWebView的背景顏色設置爲藍色,當我縮小視圖時,頁面(容器?)本身也縮小,導致不利的結果。 這不會發生在iOS9中。當我做同樣的事情時,藍色背景不顯示。 網頁寫在AngularJS和圖表libd3js

相關代碼如下。

-(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

[禁用視口縮放iOS 10 Safari瀏覽器?](http://stackoverflow.com/questions/37808180/disable-viewport-zooming-ios-10-safari) –

+0

您提到的鏈接打算禁用縮放,我不想禁用它。另外,我也沒有使用'user-scalable = no'。 –

+0

好的,我明白了。可能你可以給一個問題頁面的鏈接? –

回答

0

好吧,我通過禁用縮放和滾動WKWebView解決了這個問題。

webView.scrollView.scrollEnabled = false;

- (UIView*) viewForZoomingInScrollView:(UIScrollView *)scrollView{ return nil; }

添加這些代碼後,WKWebView本身不再縮放和移動,而移動節點和正常放大。

看起來問題與Disable magnification gesture in WKWebView有點相關,但是 我仍然不知道是什麼導致了從iOS9到iOS10的變化。但它似乎爲我工作。