Quiero superponer un gráfico transparente de HUD en toda la pantalla en una configuración de UITabBarController. El botón para hacer esto está en la pantalla de la primera pestaña (FirstViewController), y la superposición también debe cubrir las pestañas ... ¿es esto posible?¿Superpone una vista en toda la pantalla cuando usa UITabBarController?
Respuesta
Puede adjuntar su nueva vista a su ventana directamente.
[[[UIApplication sharedApplication] keyWindow] addSubview:myNewView];
La solución anterior por Henrik P. Hessel es bueno, pero hay un problema con esa solución. El problema ya se menciona por elsurudo en el comentario debajo de la respuesta.
El problema que tengo con esta solución es que la superposición aparece al revés , y no gira.
Me enfrenté al mismo problema e intenté diferentes cosas y obtuve una solución para eliminar ese problema.
La solución es simple. Puede agregar esa myNewView
a la vista UITabBarController
.
[self.tabBarController.view addSubview:myNewView];
Espero que sea útil para futuros visitantes.
UIView *modal = [[UIView alloc] initWithFrame:self.view.window.frame];
[self.view.window addSubview:modal];
Este podría ser el mismo que el [[UIApplication sharedApplication] keyWindow]
mencionado anteriormente. Pero me gusta hacer referencia a ella a través de la vista actual.
Me gustó mucho lo que Chase, Robert había escrito aquí, así que pensé para proporcionar la versión Swift 3. así:
if let window = view.window {
let subView = UIView(frame: window.frame)
window.addSubview(subView)
}
añadí la condición así, por lo que no recibe un choque si no hay ventanas
Inspirado por rdelmar's answer to another question, le recomiendo que coloque su UITabBarController en el Contenedor Ver otros ViewController
. A continuación, agregue su hud en la vista ViewController
.
Cuando hace referencia a la respuesta de otra persona, debe mencionarlos * por su nombre *. He editado tu respuesta para cumplir con esto. Para obtener más información, consulte nuestras [pautas de referencia] (https://stackoverflow.com/help/referencing). –
- 1. onTouchListener para toda la pantalla
- 2. Presione otro controlador de vista en una vista UITabBarController
- 3. ¿Cómo tomar una captura de pantalla de iPhone de toda la vista, incluidas las partes fuera de la pantalla?
- 4. Mostrar vista en una vista de desplazamiento en la pantalla
- 5. Actividad translúcida que llena toda la pantalla
- 6. ¿Cómo obtener los cordinates de pantalla correspondientes a toda la pantalla y no a la vista tocada?
- 7. Cómo crear una superposición transparente en toda la pantalla, que incluye un teclado activa
- 8. ¿Cómo hacer que mi vista del indicador de actividad cubra toda la pantalla?
- 9. ¿Cómo puedo usar UIModalTransitionStylePartialCurl en una UIView que NO ocupa toda la pantalla?
- 10. Viendo ceros excepto cuando toda una serie
- 11. cómo ajustar toda la imagen en la pantalla como fondo de pantalla
- 12. ¿Cómo pellizcar en el simulador de iOS cuando la vista de mapa es solo una parte de la pantalla?
- 13. ¿Se desencadena un evento cuando cambia el 'Controlador de vista seleccionado' de UITabBarController?
- 14. La altura de Android TableLayout no ocupa toda la pantalla
- 15. Crear una imagen de la vista/pantalla en Android
- 16. Mantener la pantalla despierta durante toda mi actividad
- 17. Registro de toda la pantalla amarilla de las muertes, aun cuando es un problema de compilación
- 18. El cromo parpadea en la pantalla en negro cuando se usa css transition rotate
- 19. La hoja de formulario modal del iPad ocupa toda la pantalla de todos modos
- 20. Cómo imprimir toda la información de una solicitud HTTP a la pantalla, en PHP
- 21. UITabBarController: cómo acceder a un controlador de vista?
- 22. Lista de Android vista toda la lista siendo seleccionada
- 23. ¿Por qué se superpone mi CalendarExtender cuando se procesa?
- 24. Agregar una UIView persistente con UITabBarController
- 25. Hacer una vista (inicializado desde initWithNibName) cargar toda su subvista
- 26. Escale una imagen hasta completar toda la vista de imagen en Android
- 27. Xcode Agregar subvista en toda la pantalla por encima de todo
- 28. ¿Cómo eliminar una vista cuando termina la animación?
- 29. Suprimir másNavigationController en UITabBarController personalizado
- 30. Hacer que toda la fila se pueda hacer clic en una vista de cuadrícula
El problema que tengo con esta solución es que la superposición aparece al revés, y no gira. ¿Alguien sabe una solución para esto? – elsurudo
La orientación solo se pasa al primer controlador de vista agregado a su ventana. Si solo agrega una vista (sin el controlador), primero debe establecer la rotación de la barra de estado (consulte las respuestas aquí: http://stackoverflow.com/questions/4436530/launching-app-in-landscape-orientation- causes-rotation-on-launch) –