ボタン以外がタップされていると消えたいボタンがあります。だから私は、目標を設定します。アクション:削除ボタン用:含むビューをタップジェスチャー認識を追加することにより、後に続くボタンタップイベントはタップジェスチャー認識ツールでオーバーライドされますか?
[self.deleteButton addTarget:self action:@selector(deleteButtonTapped:) forControlEvents:UIControlEventTouchUpInside];
:
[self.superview addGestureRecognizer:self.tapOutsideDelete];
私はこれを行うと、deleteButtonのアクションがありますボタンタップが認識されないかのように実行されません。この場合、ジェスチャ認識機能は動作します。しかし、deleteButtonをタップしても動作します。これは、タップジェスチャ認識機能がボタンタップよりも優先されていると思うようになります。
ジェスチャ認識機能を削除すると、deleteButtonが正しく機能します。
明らかに、これら2つのイベントを一緒に処理する方法を理解できません。私は何をする必要がありますか?
(deleteButtonはテーブルビューセルの削除ボタンを模倣していますが、この場合はヘッダービューにあります)テーブルのどこかをタップすると削除ボタンが消えるようにするメソッドを呼び出すと思いますボタン自体、セル内での動作と同じように)
:あなたは
gestureRecognizer:shouldReceiveTouch:
メソッドを実装する必要があります。これはヘッダービューではなく、ヘッダービューを含むtableviewに追加します。これは、ヘッダービューではなく、意図したものとは異なる場合があります。 – MusiGenesis[ジェスチャ認識機能とボタン操作]の複製が可能(http://stackoverflow.com/questions/4825199/gesture-recognizer-and-button-actions) –