UIWebView中的UIScroller

时间:2009-06-15 07:15:44

标签: uiwebview

有没有人知道如何访问UIScroller类,这是UIWebView的默认子视图?

我想处理webview中的触摸,缩放,平移和滚动功能。

谢谢..

2 个答案:

答案 0 :(得分:2)

我知道这个帖子已经老了,但如果有人遇到它,那就有了新方法。

从iOS 5开始UIWebView现在有一个名为scrollView的属性,您无法替换它,但您可以设置它的属性。大多数人只是想要一起禁用缩放/弹跳/滚动,这可以通过设置scrollView的属性来完成,例如webviewUIWebView

webview.scrollView.bounces = NO; //Disables webview from bouncing
webview.scrollView.minimumZoomScale = webview.scrollView.maximumZoomScale = 1.0; //Forces zoom to be at 1 (can be whatever you fancy) and disables zooming
webview.scrollView.bouncesZoom = NO; //Disables bouncing when zooming exceeds minimum or maximum zoom

如果您想要更多控制,我想您可以设置scrollView的委托,但为了安全起见,您可能希望存储原始委托并在自定义委托中适当地调用其方法。

处理触摸会更加困难,因为您无法替换scrollView来提供自己的处理程序。你可以做的最好是添加一些手势识别器作为UIView的一部分并尝试在那里处理它们,但我认为UIWebView仍会收到事件。或者,在iOS 5中,您可以直接在UIScrollView上访问手势识别器。

答案 1 :(得分:1)

您可以通过以下方式找到:

[webview objectAtIndex:0]

那应该是它的位置。如果没有,请将其放在代码中并运行程序以搜索UIScroller的索引,并将上面的0替换为该索引: -

for (UIView *subview in [webView subviews]){
    NSLog(@"subviews  of webView : %@", [[subview class] description]);
}