0

私の質問をこの質問の複製として却下する前に:iphone、UITextFieldの外側に触れるときにキーボードを却下する 私の問題は、私のテキストフィールドが、uitableviewセルの独自のサブクラスを持つプロトタイプセルの一部であるため、そうではないということです。ファーストレスポンダーを辞任しようとするときにテキストフィールドを参照する方法を確認してください。だから、私はこれを行うことはできません:

 -(void)dismissKeyboard {
   [aTextField resignFirstResponder];
}

この状況をどのように乗り越えることができますか?

ありがとう

4

3 に答える 3

1

このコードを試してみてください。非常に便利です。

-(void)touchesBegan :(NSSet *)touches withEvent:(UIEvent *)event

{

    [aTextField resignFirstResponder];

    [super touchesBegan:touches withEvent:event];

}
于 2013-02-25T07:18:34.443 に答える
0

テーブルビューセルの外側をタップするときにキーボードを閉じるのは良くないと思います。ユーザーが誤って外に触れたり、テキストを入力しているときにスクロールしたりする可能性がありますか?を使用しUITextFieldDelegate てキーボードを閉じることができます

- (BOOL)textFieldShouldReturn:(UITextField *)textField
 {
   [textField resignFirstResponder]
 }
于 2013-02-25T07:19:25.877 に答える
0

私があなたを正しく理解したなら、あなたはoutSideをタップしながらキーボードを辞任したいのですtextfieldが、あなたはあなたのの参照を持っていませんtextfield

これを試して;

  • グローバルtextFieldを取得し、それを呼び出しましょうreftextField
  • textFieldDidBeginEditing参照テキストフィールドをに設定します

    - (void) textFieldDidBeginEditing:(UITextField *)textField{
        reftextField = textField;
    }
    
  • これで、どのボタンクロックでも楽しく使用できます(編集の開始時に透明なボタンを追加することをお勧めします)

    - (void)dismissKeyboard {
          [reftextField resignFirstResponder];
    }
    
  • または、完了ボタンを辞任するには、これを試してください。

    //for resigning on done button    
    - (BOOL) textFieldShouldReturn:(UITextField *)textField{
        [textField resignFirstResponder];
        return YES;
    }
    
于 2013-03-01T14:41:39.667 に答える