Ich zeige eine Reihe von gekachelten Bildern in einem UIWebView an und möchte den anfänglichen Zoom- und Ansichtsort von UIWebview programmatisch festlegen.iPhone UIWebView - Wie stellen Sie Zoomstufe und Position ein?
Wie geht man vor?
Ich zeige eine Reihe von gekachelten Bildern in einem UIWebView an und möchte den anfänglichen Zoom- und Ansichtsort von UIWebview programmatisch festlegen.iPhone UIWebView - Wie stellen Sie Zoomstufe und Position ein?
Wie geht man vor?
HINWEIS: Diese Antwort stammt aus dem Jahr 2009. Bitte beachten Sie eine der besseren Lösungen für ein zivilisierteres Zeitalter.
Programmatische Scrollen von UIScrollView ist nun ein gelöstes Problem. Ich habe eine detaillierte Diskussion darüber, wie (und warum) UIScrollView Zoomen funktioniert, ein Beispielprojekt und ZoomScrollView Klasse, die die erforderliche Zoom-Magie bei github.com/andreyvit/ScrollingMadness/ einkapselt.
Also wahrscheinlich sollten Sie Ihre Bilder in UIScrollView wie Andy empfohlen.
Es sieht nicht so aus, als ob es eine dokumentierte Möglichkeit gibt, das zu tun, was Sie wollen. Eine Alternative, die Ihr Problem nur zur Hälfte löst, ist die Verwendung eines UIScrollView. Sie könnten UIImageViews in Ihre UIScrollView einfügen und dann zu einer beliebigen Position in der Bildlaufansicht blättern. Dadurch können Sie die Ansicht jedoch nicht programmgesteuert vergrößern. Wenn es etwas ist, das Ihrer Meinung nach der SDK-Datei hinzugefügt werden sollte: http://bugreport.apple.com/
Setzen Sie das Attribut scalesPageToFit von UIWebView auf YES. Dann wird die Webseite passend skaliert und der Benutzer kann hinein- und herauszoomen.
for (id subview in webview)
if ([[subview class] isSubclassOfClass: [UIScrollView class]]) {
((UIScrollView *)subview).bounces = NO;
}
}
versuchen Sie, diese scrollview zu verwenden.
Sie können diese verwenden:
for (UIView *subview in webView.subviews) {
if ([subview isKindOfClass:[UIScrollView class]]) {
((UIScrollView *)subview).bounces = NO;
[((UIScrollView *)subview) setZoomScale:10.5f animated:YES];
}
}
Es kann die Lösung für Ihr Problem.
warum nicht verwenden webView.scrollView.minimumZoomScale = 0.5; ODER webView.scrollView.maximumZoomScale = 20.0; etc – Umair
Sie sind völlig richtig. In der Zeit von dem Zeitpunkt an, als ich meine Frage gestellt habe, habe ich es in ähnlicher Weise (nicht so vollständig) wie deine "ScrollingMadness" gemacht. – Mike
Also, wie hilft das Scrollen eines UIWebView und eine Zoomstufe? –
@BillCheswick Vielleicht Zeit, um diese Antwort zu löschen? Es ist jedoch die akzeptierte, also nicht sicher, ob ich das tun soll oder nicht. –