次のコードがあるとします。
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
(ユーザーがこれまでに入力した正確な文字列を反映したい)。