tableview和collectionview的代理点击事件和

2020-03-16  本文已影响0人  yycache

产生此类问题,原因在于单击手势先响应了 将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;

}

上一篇下一篇

猜你喜欢

热点阅读