1

UITextFiekdでフォーカス解除イベントをリッスンするにはどうすればよいですか?

テキストフィールドがフォーカスを失ったときにアクティブになる一種のハンドラーを作成します。たとえば、アプリケーションの別の部分をクリックすると、そのlistenはUITextField内のテキストを自動的に登録します。

ありがとうございました。

4

3 に答える 3

2

テキストフィールドがファーストレスポンダーとして辞任する場合、UITextFieldTextDidEndEditingNotificationがあります。デリゲートメソッドtextFieldDidEndEditing:を利用することもできます。

于 2011-04-07T10:14:57.903 に答える
0

デフォルトの通知センターのシングルトンにカスタム通知を追加できます。

テキストフィールドが表示されなくなったときに実行するコードを含むメソッドをテキストフィールドスーパービュービューコントローラに設定することから始めます。

-(void)textFieldLostFocus{
    //do some work here... 
}

次に、通知オブザーバーをデフォルトの通知センターに追加します。(uはこれを入れることができますviewDidLoad

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textFieldLostFocus) 
                                                 name:@"TextFieldDidLoseFocus" object:nil];

次に、UITextfieldのsuperviewsビューコントローラ内に次を追加します。

-(void)viewDidDisappear:(BOOL)animated{
    [[NSNotificationCenter defaultCenter] postNotificationName:@"TextFieldDidLoseFocus" object:self userInfo:nil];
}

ビューが非表示になると、通知センターからカスタムメソッドが呼び出されます。

于 2011-04-07T10:26:02.817 に答える
0

2つのステップ。まず、デリゲートを定義します。次に、textFieldDidEndEditing:デリゲートメソッドを実装します。このセレクターは次の場合に呼び出されます

テキストフィールドは、最初のレスポンダーステータスを辞任します。

これは、フォーカスを失うためのiOSの話です。ドキュメントはこちらです。

于 2011-04-07T11:02:30.137 に答える