Angenommen, ich habe den folgenden Code:
IBOutlet UITextField* nameTextField;
IBOutlet UILabel* greetingLabel;
Ich möchte das greetingLabel
"Hallo [nameTextField]" lesen, sobald der Benutzer eine beliebige Taste drückt.
Was ich im Grunde brauche, ist das iPhone-Äquivalent der Cocoa-Delegate-Methode controlTextDidChange
.
Die textField:shouldChangeCharactersInRange:
Delegate-Methode wird jedes Mal aufgerufen, wenn ein Tastenanschlag auftritt:
- (BOOL) textField:(UITextField *)textField
shouldChangeCharactersInRange:(NSRange)range
replacementString:(NSString *)string
Das Zeichenfolgenargument gibt das gedrückte Zeichen zurück. Der tatsächliche textField
Wert ( nameTextField.text
) bleibt jedoch leer.
Was fehlt mir hier? (Ich möchte nameTextField
die genaue Zeichenfolge wiedergeben, die der Benutzer bisher eingegeben hat).