Comment meilleure transition d'une application de livre qui utilise un UIViewController pour gérer toutes les pages que UIViews à storyboard et UIPageView?
-
28-10-2019 - |
Question
J'ai une application de livre qui a environ 30 pages qui sont chacun un UIView en une seule UIViewController. Je veux passer à cette une application qui utilise storyboard et UIPageViews. On dirait que chacun des « pages » à UIPageView doit être un UIViewController, pas un UIView. Quelle serait la meilleure façon d'aller à ce sujet? Est-ce que je dois faire un UIViewController sur chaque page UIView?
Autres conseils
Yep. Réécrire toutes vos sous-classes UIView
comme sous-classes de UIViewController
. Je l'ai fait avec quelques de mes projets, et il se révèle être un peu fastidieux. Pour mes projets je l'ai trouvé plus facile de créer simplement un nouveau projet Xcode et construire la nouvelle infrastructure. Ensuite, créer de nouvelles classes de UIViewController
pour chacun de mes anciennes classes UIView
. Ensuite, je copié et collé la plupart du code des anciennes classes UIView
dans de nouvelles classes de UIViewController
. J'ai changé beaucoup de self
à self.view
. Le cycle de vie d'un UIViewController
est un peu plus complexe qu'un UIView, donc j'ai fini par passer un code d'initialisation du désigné initialiseur aux méthodes de viewDidLoad
et viewWillAppear
dans mes sous-classes UIViewController
.
Réponse à un commentaire: Dans mes applications nombreuses pages ont des fonctionnalités interactives uniques, donc j'écris une sous-classe de UIViewController
unique pour gérer ces fonctions. Certaines pages auront les mêmes fonctionnalités, mais un contenu différent. Ceux-ci vont simplement utiliser plusieurs instances d'une sous-classe de UIViewController
. Mon objet modèle fera ces sous-classes de UIViewController
et les remplir avec le contenu approprié.
En d'autres termes, il n'y a pas besoin d'écrire une nouvelle sous-classe de UIViewController
pour chaque page. Seulement autant que vous avez des fonctionnalités uniques sur une page. Si votre page ne fait rien, vous pouvez même simplement utiliser UIViewController
sans sous-classement.