【发布时间】:2021-06-18 04:48:37
【问题描述】:
我的 UIView 已经使用手势识别器处理单指触摸,可以很好地进行点击和平移。
但是,我希望用两根手指进行触摸以传递到该视图后面的父视图。 (父级是一个带有 javascript 生成的地图的 WKWebView,我希望用户能够捏缩放,即使这个另一个视图在前面。当另一个视图不在前面时,这可以正常工作,但当然当前视图在那里时,它不会通过触摸。)
我尝试在前视图中使用以下任一方法检测到这一点,但在这两种情况下,allTouches 都是一个空集(零次触摸):
override func point(inside point: CGPoint, with event: UIEvent?) -> Bool {
if let event = event {
print("\(event)")
if let touches = event.allTouches {
print("\(event.allTouches)")
if touches.count > 1 {
return false
}
}
}
return super.point(inside: point, with: event)
}
override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
if let event = event {
print("\(event)")
if let touches = event.allTouches {
print("\(event.allTouches)")
if touches.count > 1 {
return nil
}
}
}
return super.hitTest(point, with: event)
}
如何继续使用我现有的手势识别器,但通过多指触摸传递到超级视图?
【问题讨论】:
标签: swift uiview touches uievent