Quiero crear una vista (UIControl) que bloquee todas las entradas y muestre un UIActivityIndicatorView mientras se autentica un usuario.Agregar UIView sobre todas las demás vistas, incluyendo StatusBar
UIActionSheet y UIAlertView logran agregar una vista semitransparente negra sobre la parte superior de todas las otras vistas para bloquear la entrada y me gustaría hacer algo similar.
He intentado agregar mi vista a la ventana UI superior en la matriz [[UIApplication sharedApplication] windows], y si bien esta la coloca encima del UIKeyboard si está visible, no la coloca sobre la Barra de estado (que tiene sentido).
Mi próximo intento fue extender UIAlertView, eliminar todas sus subvistas y establecer su layer.contents = nil, luego agregar el ActivityIndicator como una subvista. Esto funciona bien, pero parece que no puedo matar la transición anómala predeterminada de UIAlertView cuando lo llamas a "mostrar".
¿Alguien tiene alguna indicación sobre la mejor manera de abordar este problema que me da un control total?
Ah, y sé que la entrada de bloqueo no es buena, pero me aseguro de que sea por un corto período de tiempo y tiene la ventaja de dejar en claro al usuario que su acción, que debe completar para que progresen, está procesando .
¿Por qué "cubrir" la barra de estado? ¿Por qué no ocultarlo, ser translúcido o simplemente ignorarlo por completo? La barra de estado no responde a los toques, si no recuerdo mal. –
Quiero que parezca que está debajo de la vista de superposición. Esto deja en claro al usuario que no puede interactuar actualmente. Hacerlo translúcido no lo logra desafortunadamente, y esconderlo se vería extraño solo por la duración de la autenticación. Y responde a los toques. El valor predeterminado es desplazar UIScrollView activo a la parte superior. –