【发布时间】:2011-10-02 11:45:53
【问题描述】:
所以我只有一个标准的 UIViewController,里面有一个 UIWebView,它显示一个 pdf。对于应用程序功能,我需要能够响应 UIWebView 的嵌套 UIScrollView 事件,如 scrollViewWillBeginDragging、scrollViewDidScroll 等。
我可以访问 scrollView 的唯一方法是(这似乎是一个 hack)进入并通过 subviews 数组获取它:
for (id subview in webView.subviews){
if ([[subview class] isSubclassOfClass: [UIScrollView class]]) {
UIScrollView * s = (UIScrollView*)subview;
s.delegate = self;
s.tag = 1;
scrollView = s;
}
}
但这似乎带来了更多的问题,因为我失去了像缩放这样的原生 UIScrollView 的东西。
所以总结一下我需要什么:
将我的 UIViewController 类设置为 UIWebView 内 UIScrollView 的委托的最佳方法是什么?我需要做些什么来对我自己的 UIWebView 进行子类化,以便它处理来自它的事件以某种方式内置 UIWebView,然后以某种方式将其传递给 UIViewController?无论如何,那个传递的东西是如何工作的?
请指教!
谢谢!
【问题讨论】:
标签: iphone uiwebview uiscrollview subclass uiscrollviewdelegate