我正在UIWebView中展示一系列平铺的图片,并希望以编程方式设置UIWebview的初始缩放比例和视图位置。
如何实现?
for (UIView *subview in webView.subviews) {
if ([subview isKindOfClass:[UIScrollView class]]) {
((UIScrollView *)subview).bounces = NO;
[((UIScrollView *)subview) setZoomScale:10.5f animated:YES];
}
}
注意:此答案来自2009年。请查看更好的解决方案,以适应更文明的时代。
UIScrollView的编程滚动现在已经是一个解决的问题。我详细讨论了UIScrollView缩放的工作原理和原因,提供了一个示例项目和ZoomScrollView类,该类封装了所需的缩放魔法,链接为github.com/andreyvit/ScrollingMadness/。
所以,你应该像Andy建议的那样将你的图像放在UIScrollView中。
for (id subview in webview)
if ([[subview class] isSubclassOfClass: [UIScrollView class]]) {
((UIScrollView *)subview).bounces = NO;
}
}
尝试使用这个滚动视图。
看起来没有记录的方法可以做到你想要的。一个只解决了一半问题的替代方案是使用UIScrollView。你可以在UIScrollView中放置UIImageView,然后滚动到滚动视图中的任何位置。但这并不允许你以编程方式缩放视图。如果你认为这应该添加到SDK中,请提交一个radar:http://bugreport.apple.com/