Formatar moeda com UITextField
eu tenho umUITextField
que o usuário insira uma quantia em dinheiro. Quero configurá-lo para que ele mostre a moeda atual dos usuários. Eu poderia fazer o seguinte:
- (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;
}
Isso funciona. Mas eu quero que ele seja exibido na inicialização e enquanto o usuário estiver digitando a quantidade. O código acima funciona apenas quando o usuário termina com esse campo de texto. Como posso fazer com que o código desse método seja exibido na inicialização e enquanto o usuário está digitando números.
Eu tentei mudar o método parashouldChangeTextInRange
, mas dá um efeito estranho.