【发布时间】:2018-02-09 23:37:02
【问题描述】:
我有一个 UIView,它位于所有其他视图之上,并且覆盖了始终返回自身的 hitTest() 方法:
override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
return self
}
然后,当我使用 touchesBegan() 中的点进行一些操作时,我需要将 hitTest() 传递给我们 UIView 的下面的视图:
override public func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
// Do some operations
// ...
// ...
// ...
// pass touch event handling to views below or change hitTest()
}
所以基本上,在 UIView 顶部,我覆盖了 touchesBegan()、touchesMoved() 和 touchesEnded() 方法。然后我需要处理触摸,执行一些操作,然后,如果需要,传递到下面的视图。有可能吗?
【问题讨论】: