取消其他视图的触摸事件
Cancel touch events for other views
我有一个 UIView
subclass
在 camera preview
之上显示一些内容(AR
,但不是 ARKit
)。在此视图中,我使用 touchesBegan
和 touchesEnded
来检测用户是否按下了显示的对象。现在我在 UINavigationController
中的 controller
中有这个视图 embedded
并且这个 NavigationController
已经启用了 showing/hiding 柱状图。我想这样做,如果我检测到 ARView
内的对象被点击,那么我可以执行一些操作,但是 NavigationController
不会接收到触摸,因此只有当我点击时才会隐藏条形图背景。在这种情况下如何进一步阻止发送触摸事件?
所以,如果我没理解错的话,你想识别这两个事件,并调用这两个手势的方法,对吧?如果是这样,试试这个代码片段:
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return true
}
此方法允许识别多种手势
如果您想限制对不同视图的触摸,您可以根据需要更改 userInteractionEnabled
的 属性。
当此 属性 设置为 false 时,将不会接收到选定视图的触摸事件。
我有一个 UIView
subclass
在 camera preview
之上显示一些内容(AR
,但不是 ARKit
)。在此视图中,我使用 touchesBegan
和 touchesEnded
来检测用户是否按下了显示的对象。现在我在 UINavigationController
中的 controller
中有这个视图 embedded
并且这个 NavigationController
已经启用了 showing/hiding 柱状图。我想这样做,如果我检测到 ARView
内的对象被点击,那么我可以执行一些操作,但是 NavigationController
不会接收到触摸,因此只有当我点击时才会隐藏条形图背景。在这种情况下如何进一步阻止发送触摸事件?
所以,如果我没理解错的话,你想识别这两个事件,并调用这两个手势的方法,对吧?如果是这样,试试这个代码片段:
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool {
return true
}
此方法允许识别多种手势
如果您想限制对不同视图的触摸,您可以根据需要更改 userInteractionEnabled
的 属性。
当此 属性 设置为 false 时,将不会接收到选定视图的触摸事件。