No descarte UIAlertView (sin subclasss)

Estoy usando un UIAlertView para solicitar a los usuarios una contraseña. Si la contraseña es correcta, me gustaría que la vista de alerta se salga normalmente; si la contraseña es incorrecta, me gustaría que la vista de alerta permanezca (con el text cambiado a algo como "Inténtalo de nuevo"). ¿Cómo modifico el comportamiento pnetworkingeterminado para que la vista no se apague cuando se presiona un button?

He probado el método de subsorting sugerido en ¿Es posible NO descartar un UIAlertView , pero no se llamó a dismissWithClickedButtonIndex en mi subclass. Después de leer la documentation, veo que la subsorting UIAlertView no es compatible, por lo que me gustaría probar otro enfoque.

Si esto no es posible con UIAlertView , ¿es la mejor opción para simplemente hacer una vista de contraseña desde cero? Gracias por leer.

Puede diseñar una UIView similar a la vista de alerta y puede calcar las funciones dentro de esta. La eliminación de una UIView está controlada por usted.

Como esta es una pregunta muy antigua, pero tengo una solución y, aunque de publicación, si algún otro desarrollador lo necesita en un futuro próximo.

Implementar methods de protocolo en un file .h

Para responder a los toques de button en nuestro UIAlertView, usaremos – alertView: clickedButtonAtIndex: método de protocolo como

 - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { } //Now below code will check if uitextfield value. - (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView { NSString *inputText = [[alertView textFieldAtIndex:0] text]; if( [inputText length] > 0) { //text field value is greater than zero ,then Done button will appear as blue,or else it will be blurnetworking return YES; } else { return NO; } } 

No es posible dejar la alerta allí cuando se hace clic en un button.

Puede deshabilitar el button "Aceptar" mediante el método delegate alertViewShouldEnableFirstOtherButton: si está comprobando la contraseña localmente o solo muestra otra alerta más tarde. La segunda alerta puede contener una información diferente, por ejemplo, "Contraseña incorrecta" en lugar de "Ingresar contraseña".