if self.isHidden || !self.isUserInteractionEnabled || self.alpha < 0.01 || !self.point(inside: point, with: event) { //实际还有个_isAnimatedUserInteractionEnabled判断
return nil
} else {
for subview in self.subviews.reversed() {
let hitView = subview.hitTest(subview.convert(point, from: self), with: event)
if hitView != nil {
return hitView
}
}
return self
}
那个_isAnimatedUserInteractionEnabled是私有的,可能是个内部变量,KVC也没办法获取
Swift视图响应机制解析
本文深入探讨了Swift中UIView的hitTest方法实现原理,解释了视图响应机制,包括_isAnimatedUserInteractionEnabled变量的作用,以及如何通过递归遍历子视图来确定触摸事件的命中视图。
72

被折叠的 条评论
为什么被折叠?



