UIWebView pas à charger le responsive web page correctement
Je suis en train de charger un réactif de page web dans une UIWebview, en utilisant le code suivant dans mon UIViewController de la méthode viewDidLoad:
NSURL *url = [NSURL URLWithString:self.webViewURL];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:request];
Plutôt que de charger la page web sur la façon dont il devrait ressembler basé sur la UIWebView la taille de l'image, il est le réglage de la UIWebView de UIScrollView contentSize pour certains apparemment arbitraires de la taille (plus grande que mon web vue taille de l'image) et le chargement de la réactivité de la page web telle qu'elle est pour que la taille de l'image.
Si j'essaie de chargement de l'url que j'utilise dans Safari, il réorganise correctement en fonction de la taille de la fenêtre du navigateur.
J'ai essayé le réglage de la scalesPageToFit bien OUI, même si je ne suis pas réellement à l'échelle de la page, mais il a de se comporter de manière responsable sur le web point de vue image.
Quelqu'un a une idée de ce qui se passe et comment je pourrais résoudre ce problème?
Ce pourrait être le cas, mais la page est sensible dans Safari (à la fois sur pc et iOS). Pourquoi ne serait-il pas de travail, lorsqu'il est chargé en mode web, mais fonctionnent très bien lorsqu'il est chargé sur le navigateur Safari de l'iPhone? Malheureusement, je ne sais pas si je peux poster le css depuis cette est la propriété exclusive de projet pour un client.
"Malheureusement, je ne sais pas si je peux poster le css" eh Bien, c'est là où l'action est. Vous pourriez au moins montrer le structure de la CSS (esp. quant aux demandes des médias, évidemment). Également la page de réglage de la fenêtre d'affichage peut être pertinent ici.
Oui, c'était la page de réglage de la fenêtre d'affichage, merci!
OriginalL'auteur Darren | 2014-05-30
Vous devez vous connecter pour publier un commentaire.
J'ai compris ce qui se passait. Mon UIWebView largeur sur l'iPad est plus petite que la largeur de l'appareil. La page web a l'aide de l'appareil largeur pour déterminer la largeur de la page (ce code a été dans le <head> element):
J'ai été en mesure de résoudre le problème à l'aide de quelque chose que j'ai trouvé une autre question (https://stackoverflow.com/a/13113820/472344):
pas de travail pour Instagram.
Très utile. J'ai essayé des dizaines de solutions similaires à ce problème constaté sur DONC, et c'est le seul qui l'a parfaitement. Merci.
Dans mon cas, un meilleur endroit où placer le code est à l'intérieur " webView:shouldStartLoadWithRequest:", de sorte que le contenu est redimensionnée avant il a été montré à l'utilisateur.
OriginalL'auteur Darren
Vous pouvez atteindre cet objectif par la mise en
UIWebView
propriétéscalesPageToFit
de VRAI.webView.scalesPageToFit = TRUE;
Cette aide-moi à utilisation sensible de la page web à l'intérieur de
UIWebView
.OriginalL'auteur Ravi Sharma
Une autre façon de le faire est d'utiliser la mise en page des contraintes dans le storyboard. Vous pouvez simplement faire glisser le webview pour le parent de la vue et de poser pour une largeur égale. Il est également préférable de définir la contrainte de webview vers le haut à la disposition de 0 à prévenir la barre d'état de chevauchement votre webview.
OriginalL'auteur television-addict
Dans mon cas, j'ai été la création d'un
UIWebView
par programme et j'ai été l'ajout de laUIWebView
à monUIView
en utilisantNSAutoLayoutConstraint
.J'ai initialisé
UIWebView
avec un cadre et il a résolu mon problème.Espère que cette aide.
OriginalL'auteur ACengiz
Pour tout ce que vous Swifters, voici une super-propre extension à l'aide de Darren réponse:
Pratique si vous voulez l'appeler plusieurs fois (par exemple, lorsque l'appareil tourne et la webView changements de proportions).
OriginalL'auteur Thomas Verbeek