3

ビュー用はありTouch Up Insideますか?ユーザーがビューをタップまたはクリックしたときにアクションを呼び出したい。現在、このビューで非表示のボタンを使用していますが、それは賢明な方法ではありません。

どんな助けでも大歓迎です:)

4

3 に答える 3

8

UIView で addGestureRecognizer メソッドを次のように使用することもできます。

// In some View controller
UITapGestureRecognizer *tapGR;
tapGR = [[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)] autorelease];
tapGR.numberOfTapsRequired = 1;
[myUIView addGestureRecognizer:tapGR];

// Add a delegate method to handle the tap and do something with it.
-(void)handleTap:(UITapGestureRecognizer *)sender
{
    if (sender.state == UIGestureRecognizerStateEnded) {
        // handling code
    }
}
于 2012-07-08T10:24:11.120 に答える
4

非表示のボタンを使用することがスマートな方法ではない理由がわかりません...これはApple自身が提案した方法であり、現時点ではスマートでより良い方法だと思います...

于 2012-07-08T10:14:12.323 に答える
0

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)eventボタンのない画面上の任意の場所でのタッチを検出する場合に使用します。次のように、タッチの場所を見つけることもできます。

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
    UITouch *touch = [touches anyObject];   
    CGPoint *tLocation = [touch locationInView:self.view];
}

注:ビューがタップされるたびに呼び出されるため、ユーザーが画面に触れるたびに上記touchesEnded変更されます。tLocation

于 2012-07-08T10:41:35.190 に答える