次のコードがあるとします。
IBOutlet UITextField* nameTextField;
IBOutlet UILabel* greetingLabel;
greetingLabel
ユーザーが任意のキーを押したらすぐに、「Hello [nameTextField]」を読みたいと思います。
基本的に必要なのは、Cocoaデリゲートメソッドに相当するiPhone controlTextDidChange
です。
textField:shouldChangeCharactersInRange:
デリゲートメソッドは、キーストロークが発生するたびに呼び出されます。
- (BOOL) textField:(UITextField *)textField
shouldChangeCharactersInRange:(NSRange)range
replacementString:(NSString *)string
文字列引数は、押された文字を返します。ただし、実際textField
の値(nameTextField.text
)は空白のままです。
ここで何が欠けていますか?(nameTextField
ユーザーがこれまでに入力した正確な文字列を反映したいと思います)。