Formatwährung mit UITextField
Ich habe einUITextField
dass der Benutzer einen Geldbetrag eingibt. Ich möchte es so einstellen, dass es die aktuelle Währung des Benutzers anzeigt. Ich könnte Folgendes tun:
- (void)textFieldDidEndEditing:(UITextField *)textField {
NSNumberFormatter *currencyFormatter = [[[NSNumberFormatter alloc] init] autorelease];
[currencyFormatter setLocale:[NSLocale currentLocale]];
[currencyFormatter setMaximumFractionDigits:2];
[currencyFormatter setMinimumFractionDigits:2];
[currencyFormatter setAlwaysShowsDecimalSeparator:YES];
[currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle];
NSNumber *someAmount = [NSNumber numberWithDouble:[textField.text doubleValue]];
NSString *string = [currencyFormatter stringFromNumber:someAmount];
textField.text = string;
}
Das funktioniert. Aber ich möchte, dass es beim Start angezeigt wird und während der Benutzer den Betrag eingibt. Der obige Code funktioniert nur, wenn der Benutzer mit diesem Textfeld fertig ist. Wie kann ich den Code in dieser Methode so einstellen, dass er beim Start und während der Eingabe von Zahlen angezeigt wird?
Ich habe versucht, die Methode auf @ zu ändeshouldChangeTextInRange
, aber es gibt einen seltsamen Effekt.