Comment meilleure transition d'une application de livre qui utilise un UIViewController pour gérer toutes les pages que UIViews à storyboard et UIPageView?

StackOverflow https://stackoverflow.com/questions/9356075

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.

scroll top