Entonces, aquí está el problema que trato de resolver.
En cada
viewController
estoy tratando de insert anuncios y los elementos de control reales. Terminé un par de tutoriales en raywenderlinch.com para comprender cómo las personas ponen anuncios profesionalmente en su aplicación. Utilizaron UIViews para tener dos vistas bajo la vista principal del controller de vista. Así que entendí completamente que unasubview
contiene los anuncios y otra contiene los contenidos reales de la aplicación. si el anuncio está cargado, tome la pantalla o permita que otra vista tenga todo el área disponible.
Después de regresar a xcode comencé a codificar la forma en que aprendí allí. pero cuando caía UIView
en el guión gráfico, vi containerView
, que creo que no estaba presente cuando se escribió el tutorial.
Entonces estoy aquí para preguntar sobre el enfoque y sus pros y contras.
Entonces básicamente es UIView
vs ContainerView
. ¿Qué path debo hacer y por qué?
Cualquier ayuda sería muy apreciada.
Utiliza UIView
cuando ya tiene una vista y no necesita tener un controller de vista dedicado para generar y manejar interacciones dentro de ella.
Desde la página de ayuda de UIView :
El object UIView reclama una región rectangular de su vista de
superview
(su elemento principal en la jerarquía de vistas) y es responsable de todo el dibujo en esa región …
Estructura simplificada: YourViewController — (tiene) —> UIView
Utiliza UIContainerView
cuando necesita insert otro controller de vista en el que ya tiene. El controller de vista embedded se encarga de devolver una vista para la región que ocupa UIViewContainer
. Por lo tanto, su UIContainerView
sabe qué controller de vista usar para hacer UIView
dentro de la región que ocupa.
Desde la página de ayuda de UIContainerView :
La vista de contenedor define una región dentro del subgrafo de vista de un controller de vista que puede include un controller de vista secundario.
Estructura simplificada: YourViewController — (tiene) —> SubViewController — (tiene) —> UIView
Ese SubViewController devuelve una vista y maneja sus events.
Como una respuesta alternativa, también puede considerar el caso de uso en lugar de las diferencias técnicas. Por ejemplo: ¿Por qué usar una vista de contenedor?
Un uso común para las vistas de contenedor es reutilizar (compartir) una vista, directamente en el guión gráfico. Anteriormente, la reutilización de una vista requería la creación de un file "xib" separado y la adición de esa vista mediante progtwigción cuando se cargaba el controller de vista.
La image de arriba es de esta guía extremadamente simple y fácil de seguir que lo guía a través de cómo configurar una vista de contenedor que se comparte entre 2+ controlleres de vista.
Algunas otras ideas sobre cuándo usarlo:
Es de esperar que esto ayude a las personas que intentan descubrir cuándo se les aplica una vista de contenedor. ¡Si tiene otros casos de uso de ejemplo, edite / añádalos o déjelos en los comentarios!
Si ve en detalle esta vista de contenedor del tipo de class UIView. Para get información de por qué necesitamos containerView, debería ver la parte a continuación.
En la mayoría de las forms, un controller de vista de contenedor es como un controller de vista de contenido. Administra vistas y contenido, coordina con otros objects en su aplicación y responde a events en la cadena de respuesta. Antes de diseñar un controller de contenedor, ya debería estar familiarizado con el layout de los controlleres de vista de contenido. Las preguntas de layout en "Creación de controlleres personalizados de vista de contenido" también se aplican al crear contenedores.
Para get más detalles sobre la vista del contenedor, ingrese el enlace. Pero antes de comenzar, debería tener una comprensión de
y también puede consultar este tutorial sobre cómo usar la vista de contenedor.
Por lo tanto, puedes ir por ambos enfoques. Espero que esto te ayudará. feliz encoding 🙂