Форматировать валюту с помощью UITextField
у меня естьUITextField
что пользователь введет сумму денег. Я хочу установить его так, чтобы он отображал текущую валюту пользователей. Я мог бы сделать следующее:
- (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;
}
Это работает. Но я хочу, чтобы это показывалось при запуске, а пока пользователь набирает сумму. Приведенный выше код работает только тогда, когда пользователь заканчивает работу с этим textField. Как я могу сделать код в этом методе, чтобы показать при запуске и в то время как пользователь вводит цифры.
Я пытался изменить метод наshouldChangeTextInRange
, но это дает странный эффект.