3

と呼ばれるボタンがあり、2本の指で押されたときにのみ実行されるようにボタンmyButtonを付けました。UIGestureRecognizerIBActionmyButton

UIGestureRecognizer  *tapper = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(twoFingerTap:)];
[(UITapGestureRecognizer *) tapper setNumberOfTouchesRequired:1];
[newTaskButton addGestureRecognizer:tapper];

ジェスチャレコグナイザーを追加する前はsender、押したばかりのボタンを参照するために使用できましたが、sender現在はジェスチャレコグナイザーになっています。押されたボタンを参照する必要があります...そうする方法はありますか?ジェスチャレコグナイザーを使用しているものを返す簡単な方法はありますか?ありがとう!

4

1 に答える 1

16

UIGestureRecognizerクラスにはview、ジェスチャレコグナイザがアタッチされているビュー(この場合はボタン)を表すプロパティがあります。

- (void)twoFingerTap:(UIGestureRecognizer *)sender {
    UIButton *myButton = (UIButton *)sender.view;
}
于 2011-07-26T19:15:16.757 に答える