美文网首页
tableview和collectionview的代理点击事件和

tableview和collectionview的代理点击事件和

作者: yycache | 来源:发表于2020-03-16 17:41 被阅读0次

    产生此类问题,原因在于单击手势先响应了 将tableview或者collectionview的事件给拦截所导致。所以,通过手势代理,不进行拦截,即可解决此类问题。

    1.通过手势的UIGestureRecognizerDelegate代理来解决此类问题

    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(dismissBubule)];

    tap.delegate = self;

    [self.view addGestureRecognizer:tap];

    2.实现代理方法

    #pragma mark - UIGestureRecognizerDelegate

    - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{

    //注意传入的参数是当前的CollectionView 或者 tableview对象

    if ([touch.view isDescendantOfView:self.collectionView]) {

    return NO;

    }

    return YES;

    }

    相关文章

      网友评论

          本文标题:tableview和collectionview的代理点击事件和

          本文链接:https://www.haomeiwen.com/subject/jdbnehtx.html