113

に置き換えるために iOS アプリを更新UIWebViewしていWKWebViewます。ただし、で同じ動作を実現する方法がわかりませんWKWebViewUIWebView以前scalesPageToFitは、Web ページが画面サイズと同じサイズで表示されるようにしていました (スクロールせずにフルスクリーンに表示されるようにするため) 。

私はウェブ上でその解決策を見つけましたが、うまくいきません:

- (void)webView:(WKWebView *)webView didCommitNavigation:(WKNavigation *)navigation {
    NSString *javascript = @"var meta = document.createElement('meta');meta.setAttribute('name', 'viewport');meta.setAttribute('content', 'width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no');document.getElementsByTagName('head')[0].appendChild(meta);";
    [webView evaluateJavaScript:javascript completionHandler:nil];
}
4

11 に答える 11

10

以下を HTML スクリプトに追加すると役に立ちました。

<meta name="viewport" content="width=device-width, shrink-to-fit=YES">

UIWebView の scalePageToFit と同じことを行います。

参考:iOS WkWebviewのズームスケールの設定方法

于 2020-01-21T09:07:09.750 に答える
5

Swift 5 ソリューション:

let javaScript = """
    var meta = document.createElement('meta');
                meta.setAttribute('name', 'viewport');
                meta.setAttribute('content', 'width=device-width');
                document.getElementsByTagName('head')[0].appendChild(meta);
    """

webView.evaluateJavaScript(javaScript)
于 2020-04-03T09:27:11.313 に答える