码迷,mamicode.com
首页 > 其他好文 > 详细

UIGestureRecognizer手势和scrollview冲突的简单解决

时间:2014-10-10 13:51:54      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:io   sp   问题   on   代码   bs   as   ui   table   

问题:想实现一个TableView里面的cell的拉动露出编辑按钮的功能,用的是UIGestureRecognizer实现的,但是和UITableView的UIScrollView冲突了,导致每次拉动tableView都会调用UIGestureRecognizer的方法。

解决方案:

- (BOOL)gestureRecognizerShouldBegin:(UIPanGestureRecognizer *)gestureRecognizer{

    if ([gestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]]) {

        CGPoint vTranslationPoint = [gestureRecognizer translationInView:self.contentView];

        return fabs(vTranslationPoint.x) > fabs(vTranslationPoint.y);//如果手势纵向移动位移比横向位移大则不响应

    }

    return YES;

}

  其实就是在每个cell里面添加了 gestureRecognizerShouldBegin的筛选条件, 代码中translationInView返回手势移动的位移矢量,另外一个方法velocityInView返回的是手势移动的速度矢量。其实也可以重写TableView中scrollView的相关方法,在有多个UIGestureRecognizer的时候应该采取这种方式。

UIGestureRecognizer手势和scrollview冲突的简单解决

标签:io   sp   问题   on   代码   bs   as   ui   table   

原文地址:http://www.cnblogs.com/Kelphizy/p/4015404.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!