1

UITapGestureRecognizerタップが発生したときに通知を受け取り、別のビューを表示するために、かなり長い間を使用してきました。私は次のように初期化しています:

_tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(showModalDetailView:)];

iOS 4.3 では、これは完全に機能しました。iOS 5 では、-showModalDetailView:もう呼び出されません。

他の誰かもこの問題を抱えているのではないかと思っていましたか?

アップデート

次のように認識機能を構成しています。

_tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(showModalDetailView:)];
_tapGesture.numberOfTapsRequired = 1;
_tapGesture.numberOfTouchesRequired = 1;
_tapGesture.delegate = self;
[self addGestureRecognizer:_tapGesture];

更新 2

さて、それは奇妙になります。コメントしてデリゲート設定を無効にすると、コードが再び機能し始めます。ただし、デリゲート メソッドはまだ呼び出されています。しかしいつもではない。

セルには、左揃えのタイトルと右揃えの詳細テキストがあります。詳細テキストをヒットすると、期待どおりに機能します。デリゲート メソッドは呼び出されず、ポップオーバーが表示されます。セルを別の場所に移動すると、デリゲート メソッド (-gestureRecognizer:shouldReceiveTouch:この場合) が呼び出され、ポップオーバーが表示されます。

ここで何が起こっているのかよくわかりません。

4

2 に答える 2

3

3 つのデリゲート メソッドをすべて実装したので (オプションですが)、機能します。デフォルト値を返すだけです。ありがとう、ダンケルスターンとトーマス。

于 2011-10-31T17:57:00.010 に答える