首页 > 代码库 > scrollview添加手势 不影响子控件点击事件
scrollview添加手势 不影响子控件点击事件
给父视图添加手势,但是子视图的点击事件失效了,怎么办?我在写tableView 自定义cel中显示多张图片 可以左右滑动 我在cell里面放了一个collectionView, 点击tableViewCell 跳转到详情页 如果点的是collectionView里的第三张图片,则详情页直接滑到第三张 ,点击其他区域 从第一张开始。
当图片的少的时候 点击collectionView空白区域的时候,tableViewCell的点击代理方法不走,把collectionView的userInteractionEnabled 设置成NO 代理方法走了,但是collectionview 不能滑动了,collectionViewCell的点击代理方法也不走了。下面是解决方法:
给collection添加手势
//初始化手势
UITapGestureRecognizer *tap=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapcollection)];
//设置代理
tap.delegate=self;
[self.imagesColl addGestureRecognizer:tap];
//遵循这个代理方法 还有其他的代理
// 看介绍 它走在 touchesBegan:withEvent:之前
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
//判断是不是点的collectionView
if ([touch.view isKindOfClass:[UICollectionView class]]) {
//处理手势 走到你的手势方法里 处理你自己的逻辑
return YES;
}
//如果点击的是cell 返回NO 会走collectionView: didSelectItemAtIndexPath:
return NO;
}
scrollview添加手势 不影响子控件点击事件