iPhone UIWebView - 如何设置缩放级别和位置?

9

我正在UIWebView中展示一系列平铺的图片,并希望以编程方式设置UIWebview的初始缩放比例和视图位置。

如何实现?

5个回答

8
将UIWebView的属性scalesPageToFit设置为YES。这样,网页将自动缩放以适应屏幕,并且用户可以放大和缩小页面。

2
你可以使用这个:
for (UIView *subview in webView.subviews) {
    if ([subview isKindOfClass:[UIScrollView class]]) {
        ((UIScrollView *)subview).bounces = NO;
        [((UIScrollView *)subview) setZoomScale:10.5f animated:YES];
    }
}

这可能是你问题的解决方案。

为什么不使用 webView.scrollView.minimumZoomScale = 0.5; 或者 webView.scrollView.maximumZoomScale = 20.0; 等等? - Umair

1

注意:此答案来自2009年。请查看更好的解决方案,以适应更文明的时代。


UIScrollView的编程滚动现在已经是一个解决的问题。我详细讨论了UIScrollView缩放的工作原理和原因,提供了一个示例项目和ZoomScrollView类,该类封装了所需的缩放魔法,链接为github.com/andreyvit/ScrollingMadness/

所以,你应该像Andy建议的那样将你的图像放在UIScrollView中。


你说得完全正确。从我提问到现在的这段时间里,我最终以类似(不完全相同)于你的“ScrollingMadness”的方式完成了它。 - Mike
7
那么,这如何帮助滚动UIWebView并设置缩放级别? - gyozo kudor
@BillCheswick 或许是时候删除这个回答了吗?虽然它是被接受的,但我不确定是否应该这样做。 - Andrey Tarantsov

0
for (id subview in webview)
    if ([[subview class] isSubclassOfClass: [UIScrollView class]])  {
         ((UIScrollView *)subview).bounces = NO;
     }
}

尝试使用这个滚动视图。


0

看起来没有记录的方法可以做到你想要的。一个只解决了一半问题的替代方案是使用UIScrollView。你可以在UIScrollView中放置UIImageView,然后滚动到滚动视图中的任何位置。但这并不允许你以编程方式缩放视图。如果你认为这应该添加到SDK中,请提交一个radar:http://bugreport.apple.com/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接