3

textFieldShouldEndEditing を呼び出すことができません。インターフェイスビルダーでリンクを再作成して試しましたが、何も機能していないようです。これが呼び出されない理由は何ですか?

編集

 -(BOOL)textFieldShouldEndEditing:(UITextField *)textField
 {
     NSLog(@"Done editing...");
     [textField resignFirstResponder];
      return YES;
 }
4

5 に答える 5

1

デリゲートが必要です。

.h this に追加してみてください<UITextFieldDelegate>

そしてあなたの.mで

_yourTextField.delegate = self.

できます。

于 2012-11-23T13:32:53.890 に答える
1

このコードを試してください。

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
 [Self.view EndEditing:YES];
 return YES;    
}

も使用し _myTextField.delegate = selfます。あなたの ViewDidLoad

.h ファイルで<UITextFieldDelegate>、クラス名の後に を追加します。

于 2012-11-23T13:39:10.480 に答える
0

このコードを試すことができます...

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
 [textField resignFirstResponder];
 return YES;    
}
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
  return YES;
}

これがお役に立てば幸いです。

幸せなコーディング。

于 2012-11-23T13:30:19.593 に答える
0

あなたが本当に空想になりたいのであれば、楽しみのために、ユーザーが画面上のどこかに触れるたびにキーボードを非表示にすることができます。このコードをViewDidLoadに追加すると、機能します。

このStackoverflowリンクも読んでください-iphoneキーボードを閉じます

- (void)viewDidLoad
{

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] 
                                   initWithTarget:self
                                   action:@selector(dismissKeyboard)];

    [self.view addGestureRecognizer:tap];

}

-(void)dismissKeyboard 
{
//here text1 is your custom UITextField
    [text1 resignFirstResponder];
}
于 2012-11-23T14:53:41.363 に答える
0

textField のデリゲートを、実装したクラスに設定する必要がありますtextFieldShouldEndEditing:

次の 2 つの方法で実行できます。

まず、InterfaceBuilder で、ctrl キーを押しながらコンポーネントから viewController にドラッグし、「デリゲート」を選択します。

または、viewDidLoadクラスの に、次の行を追加します。

_myTextField.delegate = self;

どちらの方法でも、.h ファイルで<UITextFieldDelegate>クラス名の後に を追加します。

于 2012-11-23T13:33:06.033 に答える