解决手势冲突

手势冲突

tableviewcell可以触发点击,同时tableview的父视图有点击识别,这样点击的时候就会产生冲突。解决方法在GestureRecgnizer代理方法里面区分手势。


#pragma mark tapGestureRecgnizerdelegate 解决手势冲突
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
if ([touch.view isKindOfClass:[UITableView class]]){
    return NO;
}
if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {
    return NO;
}
return YES;
}

两个控件之间的手势冲突

我在一个横向滚动的scrollview里面加了一个竖向滚动的tableview,这时如果实现了scrollview的代理方法却没有区分scrollview和tableview,这时候tableview的滚动会发生混乱。解决方法是在didScroll代理方法里区分这两个。


#pragma mark - scrollView delegate
-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
if ([scrollView isKindOfClass:[UITableView class]]) {
   // NSLog(@"------是列表---");
 }
 else {
   // NSLog(@"------是滚动试图----");

 }
}

2016/9/22更新

UIScrollView和子视图TableView的cell右滑删除冲突

横向滚动的scrollview里面有一个子视图tableview,tableview的cell右右滑冲突,除非手指激活tracking停留一会儿,否则无法激活右滑删除。
解决办法类似上面的,scrollview的左右滑依旧是由UIPanGesturerRecognizer控制的,但是该手势的代理无法更改


 // Use these accessors to configure the scroll view's built-in gesture recognizers.
 // Do not change the gestures' delegates or override the getters for these properties.
 @property(nonatomic, readonly) UIPanGestureRecognizer *panGestureRecognizer NS_AVAILABLE_IOS(5_0);

写一个UIScrollView的子类重写下面的方法即可:


-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
//NSLog(@"手势触发的类=%@",NSStringFromClass([touch.view class]));
// 若为UITableViewCellContentView(即点击了tableViewCell),则不截获Touch事件
if ([NSStringFromClass([touch.view class])isEqualToString:@"UITableViewCellContentView"]) {
    return NO;
}
return YES;
}
-(BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
{
// 若为UITableViewCellContentView(即点击了tableViewCell),则不截获Touch事件
if ([NSStringFromClass([gestureRecognizer.view class])isEqualToString:@"UITableViewCellContentView"]) {
    return NO;
}
return YES;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,195评论 4 61
  • 在开发中碰到了下面的问题.由于点击事件比较多,需要添加手势进行添加点击事件.然后出现了手势冲突的问题.尤其是 ta...
    明月钓无痕阅读 6,895评论 6 7
  • 001 今夕何夕,见此良人。子兮子兮,如此良人何。 2012年的冬天,苏雯第一次在图书馆见到许家松,她便从女神变成...
    四月樱阅读 4,818评论 3 8
  • 1.诞生 我是一片叶子。 一片普普通通的叶子。 “叮咚、叮咚”,当第一缕春风抚摸着温暖的大地,当第一束阳光照射在冰...
    酒檬阅读 2,361评论 4 2
  • 想在游泳的时候突破一下自己,于是决定学习蝶泳,因为蝶泳实在是太优美了有木有。 在优酷上反复看了教学视频,基本分腿部...
    钟曜阅读 1,378评论 1 0