Ich aktualisiere meine iOS-App, um sie UIWebView
durch zu ersetzen WKWebView
. Ich verstehe jedoch nicht, wie ich das gleiche Verhalten erreichen kann WKWebView
. Mit habe UIWebView
ich dafür scalesPageToFit
gesorgt, dass der Web-Pag mit der gleichen Größe wie die Bildschirmgröße angezeigt wurde (um im Vollbildmodus ohne Scrollen zu erscheinen).
Ich habe diese Lösung im Web gefunden, aber sie funktioniert nicht:
- (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];
}
NSString* js = @"var meta = document.createElement('meta'); " "meta.setAttribute( 'name', 'viewport' ); " "meta.setAttribute( 'content', 'width = device-width' ); " "document.getElementsByTagName('head')[0].appendChild(meta)"; [webView stringByEvaluatingJavaScriptFromString: js];
Ersetzen Sie Ihren Code durch den obigen Code.Antworten:
Sie können auch das WKUserScript ausprobieren.
Hier ist meine Arbeitskonfiguration:
Sie können Ihrer WKWebViewConfiguration eine zusätzliche Konfiguration hinzufügen.
quelle
WKUserScriptInjectionTimeAtDocumentEnd
zuWKUserScriptInjectionTimeAtDocumentStart
dann wechsle , funktioniert es bei mir nicht. Dieses Skript wird nicht hinzugefügt. irgendeinen Grund?var style = document.createElement('style');style.innerHTML = 'body { -webkit-text-size-adjust: none; }';document.getElementsByTagName('head')[0].appendChild(style);
Echo der Antwort von nferocious76 im schnellen Code: Swift2.x-Version
Swift3-Version
quelle
Ähnlich wie bei @ nferocious76, jedoch in Swift-Sprache
quelle
C # -Version zur Verwendung in Xamarin Custom Renderer:
quelle
WkWebViewRenderer
? WeilControl
sowieSetNativeControl()
sind unbekannt ...ViewRenderer<CustomWebView, WKWebView>
und verwenden müssenOnElementChanged(ElementChangedEventArgs<CustomWebView> e)
.Ich habe es unten herausgefunden. Damit der Inhalt an die Gerätegröße angepasst wird.
quelle
Das Hinzufügen des Folgenden zu meinem HTML-Skript hat mir geholfen.
Es funktioniert genauso wie scalePageToFit in UIWebView.
Siehe : So stellen Sie die Zoom-Skala für iOS WkWebview ein
quelle
Swift 5-Lösung:
quelle
// 100% Arbeit für mich
quelle
Keine dieser Antworten funktionierte für mich. Ich habe versucht, eine Amazon-URL für einen bestimmten Künstler zu öffnen. Es stellt sich heraus, dass Amazon eine auf Mobilgeräte reagierende URL und eine Desktop-URL hat. Auf Desktop Safari habe ich als Benutzeragent auf iPhone gewechselt (Entwickeln> Benutzeragent> Safari - iOS 13.1.3 - iPhone) und die entsprechende URL für Mobilgeräte erhalten.
quelle
Bei dieser Arbeit für mich habe ich zwei Attribute in Meta hinzugefügt :
initial-scale=1.0, shrink-to-fit=yes
, die helfen, Text mit HTML zu verbinden, haben ein großes Bild in HTML.quelle