iOS中View设置userInteractionEnabled为YES时事件不能穿透

今天在做一个功能的时候需要将部分view包含在一个大的容器,发现在这样做后,在这个打容器下层的View的点击事件完全失效了,于是就想着把容器的userInteractionEnabled设为false,然后试了一下发现这个时候这个打容器里的View的点击事件又不生效了,于是发现通过userInteractionEnabled这个并不妥当,所以就通过网络查找资料发现大容器的userInteractionEnabled依然设为YES,然后通过重写这个大容器的如下方法就可以实现点击事件的穿透

“`swift
override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
let hitview = super.hitTest(point, with: event)
if hitview == self {
return nil
}
return hitview
}
“`

0 0 投票数
文章评分
订阅评论
提醒
guest
0 评论
内联反馈
查看所有评论
京ICP备17066706号-1
0
希望看到您的想法,请您发表评论x