解决在UITableViewCell 上嵌套ColltionView 不相应tableViewCell点击事件

解决在UITableViewCell 上嵌套ColltionView 除了ColltionViewCell以外其他ColltionView空白页 不相应tableViewCell点击事件

可以使用响应链方案,让事件传递到tableview 的cell didselect方法上

可以写一个UItableViewCell 扩展添加如下代码

 - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event{
  
    UIView *view = [super hitTest:point withEvent:event];
    if ([view isKindOfClass:[UICollectionView class]]) {
        return self;
    }
    return [super hitTest:point withEvent:event];
}

也可以直接在cell中实现该方法

同理如果cell中只相应某个button事件,cell不拦截父类点击事件,也可以使用这种方案
在UICollectionViewCell中实现

- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event{
      
        UIView *view = [super hitTest:point withEvent:event];
        if ([view isKindOfClass:[UIButton class]]) {
            return self;
        }
        return [super hitTest:point withEvent:event];
    }

这样除了Button点击,其他点击事件会传给父类处理

希望大家bug少一点,工资多一点,写的不好,请大家指正

你可能感兴趣的:(解决在UITableViewCell 上嵌套ColltionView 不相应tableViewCell点击事件)