0

ボタンとタッチ移動ジェスチャのあるビューがあります。ユーザーがボタンをタッチすると、ボタンが選択され、タッチ移動イベントを受信し続けます。タッチ移動でボタンの選択を解除し、ジェスチャーに移動を渡します。

ボタンのタッチ受信を「エレガントに」キャンセルするにはどうすればよいですか?

4

2 に答える 2

1

Swift4で次のコード行を試してください

youButton.touchesCancelled([], with: nil)

パンジェスチャレコでうまく機能します

于 2017-11-10T16:25:22.827 に答える
0

UIGestureRecognizerDelegateを実装する必要があります。具体的にはこの方法。次に、ジェスチャがタッチを受け取るかどうかを決定するためのロジックを構築します。NOを返すと、ボタンをつかむためのタッチがアップします。YESを返すと、タッチするジェスチャが返されます。

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch

これ以上制御できない場合は、ボタンをサブクラス化してヒットテストを引き継ぐ必要があると思います。

于 2012-05-27T14:35:04.827 に答える