撤消[UIGestureRecognizer * requireGestureRecognizerToFail]

时间:2012-04-12 14:33:46

标签: objective-c ios cocoa-touch memory-management uigesturerecognizer

有没有办法撤消requireGestureRecognizerToFail。

我使用requireGestureRecognizerToFail在两个UIGestureRecognizer之间建立了依赖关系。

UITapGestureRecognizer* tgr1 = [UITapGestureRecognizer alloc] initWithTarget ...];
UITapGestureRecognizer* tgr2 = [UITapGestureRecognizer alloc] initWithTarget ...];
[tgr1 requireGestureRecognizerToFail: tgr2];
... 
// later in the code
[tgr2 release];

如何使用tgr1取消注册tgr2? tgr2实际上是释放还是tgr1现在有参考? 如果没有,释放tgr2会导致问题吗?

由于

1 个答案:

答案 0 :(得分:3)

您的问题:

如何使用tgr1取消注册tgr2?

你有很多选择。

  1. 您可以从视图中删除它。
  2. 您可以停用tgr2。
  3. 为了让两个人认识到你需要创建一个新的识别器,它需要失败并添加它,我不知道如何只删除它们之间的依赖关系,并且不知道是否有办法。< / LI>

    tgr2实际上是否已经发布或者tgr1现在有参考?

    使用tgr2添加到tgr1 requireGestureRecognizerToFail时,

    tgr2将不会增加保留计数。

    如果没有,释放tgr2会导致问题吗?

    不,它不会造成问题,只有tgr2会一直失败,它会调用tgr1