-1

UITableViewCell をサブクラス化し、そのセルに UITextField を追加しました。UITextField については、すべてのジェスチャ認識機能を削除し (1 回のタップ後にファーストレスポンダーになるため)、トリプルタップ後に呼び出される UITapGestureRecognizer を追加しました。

- (void)tappedOnTitle:(UITapGestureRecognizer *)recognizer{
    NSLog(@"triple");
    [titleField canBecomeFirstResponder];
}

次に、UITextField(titleField)デリゲートが尋ねられます

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{

    return YES;
}

常に yes を返しますが、キーボードは表示されません (両方のメソッドが呼び出されます)。

私の質問は、トリプルタップでのみ編集を有効にする方法ですか?

4

1 に答える 1

0

becomeFirstResponderの代わりに使用canBecomeFirstResponder

becomeFirstResponderウィンドウ内でファーストレスポンダーになろうとしていることを受信者に通知するだけです。

canBecomeFirstResponder受信者がファーストレスポンダーになることができるかどうかを示すブール値を返します。

- (void)tappedOnTitle:(UITapGestureRecognizer *)recognizer{

    [titleField becomeFirstResponder];
}
于 2013-03-19T15:48:03.883 に答える