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.
-
UIWindowcubre todo, incluso modales, popovers, etc. ¡Brillante! -
UIWindowsiempre 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
UIWindowLevelStatusBarpara que cubra todo. Establezca su propiedadhiddenen NO. - Se puede usar una segunda
UIWindowpara 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
UIWindowque 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
UIWindowdeUIWindowpara mostrar las vistas deUIWindowen 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 .