Je mets à jour mon application iOS pour la remplacer UIWebView
par WKWebView
. Cependant je ne comprends pas comment obtenir le même comportement avec WKWebView
. Avec UIWebView
je scalesPageToFit
pour assurer la pag web a été affiché avec la même taille que la taille de l' écran ( de manière à apparaître en plein écran sans défilement).
J'ai trouvé cette solution sur le Web mais cela ne fonctionne pas:
- (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];
remplacez votre code par le code ci-dessus.Réponses:
vous pouvez également essayer le WKUserScript.
voici ma configuration de travail:
vous pouvez ajouter une configuration supplémentaire à votre WKWebViewConfiguration.
la source
WKUserScriptInjectionTimeAtDocumentEnd
deWKUserScriptInjectionTimeAtDocumentStart
puis il ne fonctionne pas pour moi. Il n'ajoute pas ce script. n'importe quelle raison?var style = document.createElement('style');style.innerHTML = 'body { -webkit-text-size-adjust: none; }';document.getElementsByTagName('head')[0].appendChild(style);
Écho de la réponse de nferocious76, en code SWIFT: version Swift2.x
version swift3
la source
Similaire à @ nferocious76 mais en langage Swift
la source
Version C #, à utiliser dans Xamarin Custom Renderer:
la source
WkWebViewRenderer
? ParceControl
que ainsi queSetNativeControl()
sont inconnus ...ViewRenderer<CustomWebView, WKWebView>
et utiliserOnElementChanged(ElementChangedEventArgs<CustomWebView> e)
.J'ai compris ci-dessous soultion. Pour adapter le contenu à la taille de l'appareil.
la source
L'ajout de ce qui suit à mon script HTML m'a aidé.
Il fait la même chose que scalePageToFit dans UIWebView.
Référez-vous: Comment définir l'échelle de zoom iOS WkWebview
la source
Solution Swift 5:
la source
Ce travail pour moi, j'ai ajouté deux attributs dans meta:,
initial-scale=1.0, shrink-to-fit=yes
qui aident à ajuster le texte avec html ont une grande image en html.la source
// 100% travaille pour moi
la source
Aucune de ces réponses ne fonctionnait pour moi. J'essayais d'ouvrir une URL Amazon pour un artiste particulier. Il s'avère qu'Amazon dispose d'une URL réactive mobile et d'une URL de bureau. Sur Safari de bureau, j'ai changé pour iPhone en tant qu'agent utilisateur (Développer> Agent utilisateur> Safari - iOS 13.1.3 - iPhone) et j'ai obtenu l'URL appropriée pour le mobile.
la source