在子视图上获取touchesBegan(UIWebView)
我有一个UIWebView,它作为UIview中的子视图添加,我想检测何时触摸这个UIWebView但是touchesBegan只是不起作用。
任何想法 ?
- 在您的代码中子类UIWebView,然后在您的类中实现touchesBegan。
- 添加子类webview作为UIView的子视图。
-
在子类UIWebView中调用super
- (void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { [super touchesBegan: touches withEvent: event]; }
子类化和等待touchesBegan不会帮助你,因为它不会被调用。
我将UIWebView
子类化,并且只是在2级深度的子视图中“浸入”它的手势识别器(你可以递归地去,但这对于iOS6-7来说已经足够了)。 然后,您可以使用触摸位置和手势识别器的状态执行任何操作。
for (UIView* view in self.subviews) { for (UIGestureRecognizer* recognizer in view.gestureRecognizers) { [recognizer addTarget:self action:@selector(touchEvent:)]; } for (UIView* sview in view.subviews) { for (UIGestureRecognizer* recognizer in sview.gestureRecognizers) { [recognizer addTarget:self action:@selector(touchEvent:)]; } } }