Formato de moneda con UITextField

tengo unUITextField que el usuario ingresará una cantidad de dinero. Quiero configurarlo para que muestre a los usuarios la moneda actual. Podría hacer lo siguiente:

- (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;
}

Eso funciona. Pero quiero que se muestre al inicio y mientras el usuario escribe la cantidad. El código anterior solo funciona cuando el usuario ha terminado con ese campo de texto. ¿Cómo puedo hacer que el código en ese método se muestre en el inicio y mientras el usuario ingresa números?

Traté de cambiar el método ashouldChangeTextInRange, pero le da un efecto extraño.

Respuestas a la pregunta(1)

Su respuesta a la pregunta