解决在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少一点,工资多一点,写的不好,请大家指正

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容