3

UITextField を含む UIAlertView があります。

UITextField *textField = [alertView textFieldAtIndex:0];

次に、textField の inputDelegate プロパティを設定します。

[textField setInputDelegate:self];

私のView Controller(自己)はUITextInputDelegateに準拠しており、メソッドがあります

- (void)textDidChange:(id<UITextInput>)textInput;

しかし、何らかの理由で、textField のテキストを変更しても、このメソッドが呼び出されることはありません。したがって、View Controller が textField の inputDelegate として設定されていないと仮定します。

ドキュメントには次のように記載されています。

テキスト入力システムは、実行時にこのプロパティにデリゲートを自動的に割り当てます。UITextInput プロトコルを採用し、適切な時点で入力デリゲートに通知するのは、ビューの役割です。

テキストフィールドのinputDelegateを変更できないということですか?

textDidChange:コンテンツが変更されるたびに、textField が実際にビュー コントローラーのデリゲート メソッドを呼び出すようにするにはどうすればよいですか?

4

2 に答える 2

1

inputdelegate が機能しないという同じ経験があります。

私はあなたのためにこのページを見つけました、

入力デリゲート

ただし、問題を解決するには、代わりにデリゲートを使用することをお勧めします!

UITextField *textField = [alertView textFieldAtIndex:0];

textField.delegate = self;
于 2013-07-19T14:00:56.420 に答える