1

アプリの実行中にボタンの動作がおかしくなりました。クリックの代わりに、スワイプでのみ反応します。クリックすると青くなりますが、アクションは発生しません。スワイプすると、本来のように動作します。エミュレーターでは、クリックするとすべてが予測どおりに機能します。ボタンなどをスワイプする方法を実装していません。何が問題なのですか?

更新しました :

 forControlEvents:UIControlEventTouchUpInside];
[save addTarget:self action:@selector(saveInfo)


forControlEvents:UIControlEventTouchUpInside];
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]
                               initWithTarget:self
                               action:@selector(dismissKeyboard)];
[TableControll.view addGestureRecognizer:tap];


-(void)dismissKeyboard {
    [[_textFields objectAtIndex:0] resignFirstResponder];
    [[_textFields objectAtIndex:1] resignFirstResponder];
    [[_textFields objectAtIndex:2] resignFirstResponder];
    [[_textFields objectAtIndex:3] resignFirstResponder];
}

キーボードを閉じなくてもボタンは正常に機能するので、問題なく連携させるにはどうすればよいですか?

4

2 に答える 2

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

    if ([touch.view isKindOfClass:[UIButton class]]) {
        return NO;
    }
    return YES;
}

このメソッドを使用して、タップ イベントとボタン イベントを区別します...

于 2012-11-05T09:59:12.103 に答える
0

私は同様の問題を抱えていましたが、これが私の解決策でした:

tapRecognizer.cancelsTouchesInView = false
于 2015-05-13T14:33:40.137 に答える