Come transizione al meglio un'app di libro che utilizza un UiviewController per gestire tutte le pagine come UIViews allo storyboarding e UipageView?
-
28-10-2019 - |
Domanda
Ho un'app di libro che ha circa 30 pagine che sono ciascuna una Uiview in un singolo UiviewController. Voglio passare a questo a un'app che utilizza storyboarding e uipageviews. Sembra che ciascuna delle "pagine" in uipageview debba essere un UiviewController, non un UIVIEW. Quale sarebbe il modo migliore per farlo? Devo fare un UiviewController da ogni pagina Uiview?
Soluzione
Guardare Un esempio di applicazione ios 5 iPhone uipageviewcontroller articolo. Tale capitolo fornirà una breve panoramica dei concetti dietro il controller di visualizzazione della pagina e un'applicazione di esempio progettata per dimostrare questa classe in azione.
Altri suggerimenti
Sì. Riscrivi tutto il tuo UIView
sottoclassi come UIViewController
sottoclassi. L'ho fatto con alcuni dei miei progetti e si rivela solo un po 'noioso. Per i miei progetti ho trovato più semplice creare solo un nuovo progetto Xcode e costruire la nuova infrastruttura. Quindi crea nuovo UIViewController
lezioni per ciascuno dei miei vecchi UIView
classi. Poi ho copiato e incollato la maggior parte del codice dal vecchio UIView
lezioni in nuove UIViewController
classi. Ho cambiato molto self
a self.view
. Il ciclo di vita di a UIViewController
è un po 'più complesso di un UIView, quindi ho finito per spostare un po' di codice di inizializzazione dall'inizializzatore designato a viewDidLoad
e viewWillAppear
metodi nel mio UIViewController
sottoclassi.
Risposta al commento: nelle mie app molte pagine hanno funzionalità interattive uniche, quindi scrivo un unico UIViewController
Sottoclasse per gestire queste funzionalità. Alcune pagine avranno le stesse funzionalità ma contenuti diversi. Questi utilizzerà solo più istanze di uno UIViewController
sottoclasse. Il mio oggetto modello li farà UIViewController
sottoclassi e popolarli con il contenuto appropriato.
In altre parole, non è necessario scrivere un nuovo UIViewController
sottoclasse per ogni pagina. Solo quanti hai funzionalità uniche su una pagina. Se la tua pagina non fa nulla, potresti anche usare UIViewController
senza sottoclasse.