
我已经将我的手势识别器添加到我的根视图(屏幕上其他所有内容的父视图,因为我的自定义手势识别器的目的是允许在表之间拖动InfoCell视图).现在,一切都有效,除了一件事.我在我的UIGestureRecognizer子类中使用以下代码来检测InfoVIEw视图上的触摸:
- (voID)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { UIVIEw *touchVIEw = [[touches anyObject] vIEw]; if ([touchVIEw isKindOfClass:[InfoVIEw class]]) { // Do stuff } 这里的问题是InfoVIEw对象上的触摸被截获,因此它们不会被转发到包含InfoCell的UItableVIEw,后者是InfoVIEw的父视图.这意味着我无法再通过拖动InfoVIEw视图来滚动表视图,这是一个问题,因为InfoVIEw涵盖了整个InfoCell.
有什么方法可以将触摸转发到表格视图,以便它可以滚动?我已经尝试了很多东西:
[super touchesBegan:touches withEvent:event];
[touchVIEw.supervIEw.supervIEw touchesBegan:touches withEvent:event]; (touchVIEw.supervIEw.supervIEw获取对其父UItableVIEw的引用)
但迄今为止没有任何工作.此外,我的UIGestureRecognizer的cancelstouchesInVIEw属性设置为NO,因此不会干扰触摸.
感谢帮助.谢谢!
解决方法 查看UIGestureRecognizerDelegate方法: – (BOol)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer如果返回YES,则会阻止您的手势识别器踩踏UIScrollVIEw用于检测滚动的手势识别器.
总结以上是内存溢出为你收集整理的cocoa-touch – UIGestureRecognizer阻塞表视图滚动全部内容,希望文章能够帮你解决cocoa-touch – UIGestureRecognizer阻塞表视图滚动所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)