¿Cómo hacer una mejor transición de una aplicación de libro que usa un UIViewController para manejar todas las páginas como UIViews a storyboard y UipageView?
-
28-10-2019 - |
Pregunta
Tengo una aplicación de libro que tiene alrededor de 30 páginas que son un UIView en un solo UIViewController. Quiero hacer la transición de esto a una aplicación que utiliza storyboard y UipageViews. Parece que cada una de las "páginas" en UIPageView debe ser un UIViewController, no un UIView. ¿Cuál sería la mejor manera de ir sobre esto? ¿Necesito hacer un UIViewController fuera de cada página de UIView?
Solución
Verificar Un ejemplo de aplicación iOS 5 iPhone UipageViewController artículo. Ese capítulo proporcionará una breve descripción general de los conceptos detrás del controlador de vista de página y una aplicación de ejemplo diseñada para demostrar esta clase en acción.
Otros consejos
Sí. Reescribe todo tu UIView
subclases como UIViewController
subclases. Lo he hecho con algunos de mis proyectos, y resulta ser un poco tedioso. Para mis proyectos, me pareció más fácil crear un nuevo proyecto Xcode y construir la nueva infraestructura. Luego crea nuevo UIViewController
clases para cada uno de mis viejos UIView
clases. Luego copié y pegé la mayor parte del código del viejo UIView
clases en nuevo UIViewController
clases. Cambié mucho de self
a self.view
. El ciclo de vida de un UIViewController
es un poco más complejo que un UIView, por lo que terminé moviendo algún código de inicialización del inicializador designado al viewDidLoad
y viewWillAppear
métodos en mi UIViewController
subclases.
Respuesta al comentario: En mis aplicaciones, muchas páginas tienen características interactivas únicas, por lo que escribo un único UIViewController
subclase para administrar esas características. Algunas páginas tendrán las mismas características pero contenido diferente. Estos solo usarán múltiples instancias de uno UIViewController
subclase. Mi objeto modelo hará estos UIViewController
subclases y llévalos con el contenido apropiado.
En otras palabras, no hay necesidad de escribir un nuevo UIViewController
subclase para cada página. Solo tantos como tengas una funcionalidad única en una página. Si su página no hace nada, incluso podría usar UIViewController
sin subclases.