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.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage