有谁知道如何访问 UIScroller 类,这是 UIWebView 的默认子视图?
我想处理 webview 中的触摸、缩放、平移和滚动功能。
谢谢..
我知道这个线程很旧,但如果有人遇到它,就会有一种新方法。
从 iOS 5开始,UIWebView
现在有一个scrollView
您无法替换的属性,但您可以设置它的属性。大多数人只想同时禁用缩放/弹跳/滚动,这可以通过设置 scrollView 的属性来完成,例如 ifwebview
是UIWebView
:
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
.
您可以通过以下方式找到它:
[webview objectAtIndex:0]
那应该是它所在的地方。如果没有,请将其放在代码中的某个位置并运行程序以搜索 UIScroller 的索引,并将上面的 0 替换为该索引:-
for (UIView *subview in [webView subviews]){
NSLog(@"subviews of webView : %@", [[subview class] description]);
}