J'affiche une série d'images en mosaïque dans un UIWebView et je souhaite paramétrer le zoom initial et l'emplacement de vue de l'UIWebview.iPhone UIWebView - Comment régler le niveau et la position du zoom?
Comment va-t-on?
J'affiche une série d'images en mosaïque dans un UIWebView et je souhaite paramétrer le zoom initial et l'emplacement de vue de l'UIWebview.iPhone UIWebView - Comment régler le niveau et la position du zoom?
Comment va-t-on?
NOTE: cette réponse est de 2009. S'il vous plaît voir l'une des meilleures solutions pour un âge plus civilisé.
Le défilement programmé de UIScrollView est maintenant un problème résolu. J'ai une discussion détaillée sur comment (et pourquoi) le zoom UIScrollView fonctionne, un exemple de projet et la classe ZoomScrollView qui encapsule la magie de zoom requise à github.com/andreyvit/ScrollingMadness/.
Alors probablement vous devriez mettre vos images à l'intérieur de UIScrollView comme Andy conseillé.
Il ne semble pas y avoir une façon documentée de faire ce que vous voulez. Une alternative qui ne résout que la moitié de votre problème consiste à utiliser un UIScrollView. Vous pouvez mettre UIImageViews à l'intérieur de votre UIScrollView et ensuite faire défiler jusqu'à n'importe quelle position dans la vue déroulante. Cela ne vous permet pas de zoomer par programmation sur la vue. Si c'est quelque chose que vous pensez devrait être ajouté au fichier SDK un radar: http://bugreport.apple.com/
Définissez l'attribut scalesPageToFit de UIWebView sur YES. Ensuite, la page Web est mise à l'échelle pour s'adapter et l'utilisateur peut zoomer et dézoomer.
for (id subview in webview)
if ([[subview class] isSubclassOfClass: [UIScrollView class]]) {
((UIScrollView *)subview).bounces = NO;
}
}
essayez d'utiliser cette scrollview.
Vous pouvez utiliser ceci:
for (UIView *subview in webView.subviews) {
if ([subview isKindOfClass:[UIScrollView class]]) {
((UIScrollView *)subview).bounces = NO;
[((UIScrollView *)subview) setZoomScale:10.5f animated:YES];
}
}
Il est peut-être la solution à votre problème.
pourquoi ne pas utiliser webView.scrollView.minimumZoomScale = 0.5; OU webView.scrollView.maximumZoomScale = 20.0; etc – Umair
Vous avez totalement raison. Dans le temps à partir de quand j'ai posé ma question à présent, j'ai fini par le faire d'une manière similaire (pas aussi complète) à votre "ScrollingMadness". – Mike
Alors, comment cela aide-t-il à faire défiler une UIWebView et à définir un niveau de zoom? –
@BillCheswick Peut-être le temps de supprimer cette réponse? C'est accepté, cependant, je ne sais pas si je suis censé faire ça ou pas. –