7

requireGestureRecognizerToFailを元に戻す方法はありますか?

このようにrequireGestureRecognizerToFailを使用して2つのUIGestureRecognizers間に依存関係を設定しました。

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

tgr2をtgr1から登録解除するにはどうすればよいですか?tgr2は実際にリリースされましたか、それともtgr1に参照がありますか?そうでない場合、tgr2をリリースすると問題が発生しますか?

ありがとう

4

1 に答える 1

3

あなたの質問:

tgr2をtgr1から登録解除するにはどうすればよいですか?

多くのオプションがあります。

  1. ビューから削除できます。
  2. tgr2を無効にすることができます。
  3. 2つの認識を維持するには、失敗して追加する必要があった新しい認識機能を作成する必要があります。これらの間の依存関係を削除する方法がわからず、方法があるかどうかもわかりません。

tgr2は実際にリリースされましたか、それともtgr1に参照がありますか?

tgr1にrequireGestureRecognizerToFailをtgr2で追加すると、tgr2の保持カウントは増加しません。

そうでない場合、tgr2をリリースすると問題が発生しますか?

いいえ、問題は発生しません。tgr2が常に失敗し、tgr1が呼び出されるだけです。

于 2012-04-12T19:46:33.733 に答える