tableView 与collectionView嵌套 collectionView 点击穿透到tablview 代理

这里就要说到 iOS 的响应链iOS 的所有点击方法 都是用响应链 传递到最底层的 所以可以截取响应链 让colllectionView失效

用在tablviewCell里面即可

//OC 写法

- (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];  


//swift4.0 写法

// 修改 tablview 和collection 嵌套 导致tablview cell点击不到

    override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {

      let view = super.hitTest(point, with: event)

        if let touchView = view {

            if touchView.isKind(of: UICollectionView.self ){

                return self

            }

        }

        return super.hitTest(point, with: event)

    }

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

推荐阅读更多精彩内容

  • 重点参考链接: View Programming Guide for iOS https://developer....
    Kevin_Junbaozi阅读 9,989评论 0 15
  • 前言: 按照时间顺序,事件的生命周期是这样的: 事件的产生和传递(事件如何从父控件传递到子控件并寻找到最合适的vi...
    reviewThis阅读 4,039评论 1 2
  • 前言 按照时间顺序,事件的生命周期是这样的: 事件的产生和传递(事件如何从父控件传递到子控件并寻找到最合适的vie...
    欢博阅读 3,666评论 0 3
  • 今天,我的一个少年玩伴结婚了,这已经是我毕业以后听到的我同龄的第三个人结婚。当我还沉浸在自己还是个不谙世事的孩...
    错柒阅读 3,738评论 0 1
  • 一年一度的高考有来临了,看见空间里面刷屏的视频和豪言壮语。内心不仅又一番波动。 去年的今天,我在学校里...
    某猫猫阅读 12,464评论 0 0