我有一个 UIGestureRecognizer,我想在两个不同的 UIView 上工作,它们都在 UiViewController 的同一视图层次结构中。UIGestureRecognizer 的动作在每一个上都差不多,所以我希望调用相同的函数(很明显),我会在运行时告诉我正在处理哪些 UIView。但是怎么做?我看不到 UIGestureRecognizer 正在携带对象信息。我是否错过了文档中的这一行,或者gestureRecognizer不知道它附加到哪个对象上被调用?似乎语言的重点在于它会知道。
或者,也许我误解了课程的意图,我不应该:
UITapGestureRecognizer *dblTap =
[[UITapGestureRecognizer alloc] initWithTarget: self
action: @selector(handleDblTap:)];
[viewA addGestureRecognizer: dblTap];
[viewB addGestureRecognizer: dblTap];
然后期望能够:
-(void)handleDblTap: (UIGestureRecognizer *)gestureRecognizer
{
if (viewA)...
如果实际上 UIGestureRecognizer 不支持同时附加到多个对象,那么,如果你知道它为什么不支持这个,你能教育我吗?谢谢您的帮助。