找出已设置手势的视图
Find out the view of the gesture has been set
在我的 SecondViewController
中,我有一个带有自定义 UITableViewCell
的 UITableView
,其中我有一个 UIPanGestureRecognizer
,我希望它在 otherGestureRecognizer
时失败UIPanGestureRecognizer
来自 ViewController FirstViewController
单元格的 UIPanGestureRecognizer
设置为 self 我尝试使用 gestureRecognizer: shouldRequireFailureOfGestureRecognizer
:
override func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRequireFailureOfGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool {
let view = otherGestureRecognizer.view
if let view as? FirstViewController.view { // Obviously doesn't work
return true
}
return false
}
问题是,当从 FirstViewController 识别出手势时,如何让 UITableViewCell
的 UIPanGestureRecognizer
失败?
这可能看起来很愚蠢,但在我看来,您的问题纯粹是身份识别问题之一:这个手势识别器 otherGestureRecognizer
是我担心的特定手势识别器吗?我立即想到两个选择:
正如您正确指出的那样,它 view
。关于这个观点,您是否没有可以提出的问题来帮助您识别它?它是否具有与众不同的 backgroundColor
或任何其他有助于解决此问题的功能?它的 class 呢?它是一个普通的香草 UIView,还是一些与众不同的 class?
您还有 UIPanGestureRecognizer 本身。因此,我可能会使用的一个非常简单的解决方案是 subclass UIPanGestureRecognizer:让我们调用 subclass MySpecialPanGestureRecognizer。这个 subclass 没有特殊功能,除了充当标识符外没有其他用途!当您为视图提供其手势识别器时,将该手势识别器设置为 MySpecialPanGestureRecognizer。现在你可以问是否 otherGestureRecognizer is MySpecialPanGestureRecognizer
.
在我的 SecondViewController
中,我有一个带有自定义 UITableViewCell
的 UITableView
,其中我有一个 UIPanGestureRecognizer
,我希望它在 otherGestureRecognizer
时失败UIPanGestureRecognizer
来自 ViewController FirstViewController
单元格的 UIPanGestureRecognizer
设置为 self 我尝试使用 gestureRecognizer: shouldRequireFailureOfGestureRecognizer
:
override func gestureRecognizer(gestureRecognizer: UIGestureRecognizer, shouldRequireFailureOfGestureRecognizer otherGestureRecognizer: UIGestureRecognizer) -> Bool {
let view = otherGestureRecognizer.view
if let view as? FirstViewController.view { // Obviously doesn't work
return true
}
return false
}
问题是,当从 FirstViewController 识别出手势时,如何让 UITableViewCell
的 UIPanGestureRecognizer
失败?
这可能看起来很愚蠢,但在我看来,您的问题纯粹是身份识别问题之一:这个手势识别器 otherGestureRecognizer
是我担心的特定手势识别器吗?我立即想到两个选择:
正如您正确指出的那样,它
view
。关于这个观点,您是否没有可以提出的问题来帮助您识别它?它是否具有与众不同的backgroundColor
或任何其他有助于解决此问题的功能?它的 class 呢?它是一个普通的香草 UIView,还是一些与众不同的 class?您还有 UIPanGestureRecognizer 本身。因此,我可能会使用的一个非常简单的解决方案是 subclass UIPanGestureRecognizer:让我们调用 subclass MySpecialPanGestureRecognizer。这个 subclass 没有特殊功能,除了充当标识符外没有其他用途!当您为视图提供其手势识别器时,将该手势识别器设置为 MySpecialPanGestureRecognizer。现在你可以问是否
otherGestureRecognizer is MySpecialPanGestureRecognizer
.