Lo está haciendo de la manera incorrecta, debe habilitar y deshabilitar el botón de enviar según la entrada. Primero debes tener acceso al botón. Esto es fácil, basta con crear la alerta y sin botones, crear un botón independiente y añadirlo al cuadro de diálogo:
[alert addButtonWithTitle:@"OK"];
UIButton *submitButton = [[alert subviews] lastObject];
[submitButton setEnabled:…];
Y entonces usted tiene que fijar un delegado para los campos de texto y activar o desactivar el botón cuando cambian los campos :
- (BOOL) textField: (UITextField*) textField
shouldChangeCharactersInRange: (NSRange) range
replacementString: (NSString*) string
{
int textLength = [textField.text length];
int replacementLength = [string length];
BOOL hasCharacters = (replacementLength > 0) || (textLength > 1);
[self setButtonsAreEnabled:hasCharacters];
}
// Disable the ‘Return’ key on keyboard.
- (BOOL) textFieldShouldReturn: (UITextField*) textField
{
return NO;
}
por supuesto que debe envolver todo esto en una clase separada para que no se metan su código de llamada.
Al igual que el widget de contraseña de iTunes? ¿Apple usa UIAlertView para esto? –