テキストフィールドがキーボードを隠すのに応答しないのはなぜですか?

StackOverflow https://stackoverflow.com//questions/9642399

  •  10-12-2019
  •  | 
  •  

質問

これは私のコードです:

- (BOOL) textFieldShouldReturn:(UITextField *)textField  {
    [txtSiteDesc resignFirstResponder];
    [txtDesc resignFirstResponder];
    [ssFS resignFirstResponder];

    return YES;
.

}

.hファイル:

#import <UIKit/UIKit.h>

@interface slEnterDataViewController : UITableViewController <UITextFieldDelegate>  {

    UITextField *txtSiteDesc;
    UITextField *txtDesc;
    UITextField *ssFS;
}

@property (nonatomic, retain) IBOutlet UITextField *txtSiteDesc;
@property (nonatomic, retain) IBOutlet UITextField *txtDesc;
@property (nonatomic, retain) IBOutlet UITextField *ssFS;

@end
.

TXTSEDESSCのために機能しますが、他のもののいずれではありません。問題がTextFieldShouldReturnメソッドにあると思います。私は "TextField"の値をチェックしてどちらのフィールドをチェックしてから適切な "resignfirstresponder"とReturnを実行できると思いました。私は近い(私は思う)が十分に閉じていません。

ヘルプは大いに感謝されるでしょう。:d

役に立ちましたか?

解決

txtSiteDescの代理人を設定したが、他の2つのテキストフィールドでは設定できませんか。これにより、textFieldShouldReturn:が他のテキストフィールドではなく呼び出された理由を説明します。3つのTextFieldsすべてのdelegateプロパティをselfに設定していることを確認してください(Self= View Controller)。

他のヒント

私はこの問題に直面していました。これはあなたが探しているものです:

- (BOOL)textField:(UITextField *)theTextField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    if([string hasSuffix:@"\n"])
    {
        [theTextField resignFirstResponder];
        return NO;
    }
    return YES;
}
.

キーボードのReturn / Doneなどを押すとキーボードが隠されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top