objective-c - registrarse - goodbarber precios
Ventajas, problemas, ejemplos de agregar otra ventana UI a una aplicaciĆ³n iOS (2)
Comenzando con la respuesta de Rob, jugué un poco y me gustaría escribir algunas notas para otros tratando de obtener información sobre este tema:
- No es ningún problema agregar otra
UIWindow
. Solo crea uno ymakeKeyAndVisible
. Hecho. - Quítelo haciendo que otra ventana sea visible, luego libere la que ya no necesita.
- La ventana que es "clave" recibe toda la entrada del teclado.
-
UIWindow
cubre todo, incluso modales, popovers, etc. ¡Brillante! -
UIWindow
siempre es retrato implícitamente. No gira Tendrá que agregar un controlador como controlador raíz de la nueva ventana y dejar que eso maneje la rotación. (Al igual que la ventana principal) - El nivel de la ventana determina qué tan "alto" se muestra. Establézcalo en
UIWindowLevelStatusBar
para que cubra todo. Establezca su propiedadhidden
en NO. - Se puede usar una segunda
UIWindow
para traer vistas en la pantalla que floten encima de todo. Sin crear un controlador ficticio solo para insertarlo en unUIPopoverController
. - Puede ser especialmente útil en iPhone donde no hay un controlador de popover, pero en el que puede querer imitar algo así.
- Y sí, solucionó, por supuesto, mi problema: si la aplicación renuncia a la activación, agregue una ventana de tapa sobre lo que se muestra actualmente para evitar que iOS tome una captura de pantalla del contenido actual de su aplicación.
Recientemente me he estado preguntando sobre el hecho de que una aplicación de iOS solo tiene una UIWindow
. No parece ser un problema crear otra UIWindow
y colocarla en la pantalla.
Mi pregunta es algo vaga, pero estoy interesado en:
- ¿Qué podría potencialmente lograr con una segunda
UIWindow
que no se puede hacer de otras maneras? - ¿Qué puede salir mal al usar múltiples instancias de
UIWindow
? - He visto que las personas usan una segunda
UIWindow
deUIWindow
para mostrar las vistas deUIWindow
en el iPhone. ¿Es esta una buena forma de hacerlo? ¿Por qué? Por qué no? - ¿Hay otros ejemplos en los que tiene sentido tener otra
UIWindow
?
No es que me esté perdiendo algo. Nunca sentí la necesidad de crear otra instancia de UIWindow
, ¡pero tal vez permitiría hacer cosas increíbles de las que no soy consciente! :-)
Espero que me ayude a resolver este problema: necesito agregar una "vista de portada" sobre lo que se muestra actualmente. También debería funcionar si ya hay uno o más controladores modales presentados. Si agrego un UIView
a la vista del controlador raíz, los controladores UIView
sientan encima, también lo hacen los controladores popover. Si presento la vista de portada modalmente y ya hay un controlador modal, solo se cubre una parte de la pantalla.
Una UIWindow
puede flotar sobre otros elementos de la interfaz de usuario como el teclado del sistema.
Para abordar su último párrafo: UIWindow
una UIWindow
con el mismo marco que su ventana principal. Establezca su propiedad UIWindowLevelStatusBar
en UIWindowLevelStatusBar
. Establezca su propiedad hidden
en NO
.