2017-07-12 2 views
0

J'ai un MainViewController, qui a une vue de conteneur à l'intérieur qui incorpore un UIPageViewController. MainViewController est conforme aux protocoles UIPageViewControllerDelegate, UIPageViewControllerDataSource et je souhaite que le UIPageViewController intégré soit délégué par le MainViewController. Est-ce encore possible?comment configurer le délégué pour UIPageViewController à l'intérieur de la vue conteneur qui est incorporé dans un ViewController

En fait, je suis en train d'avoir une attitude semblable à avoir une vue de collection à l'intérieur d'un contrôleur de vue comme une sortie de story-board, puis à installer les délégués pour elle (collectionView.delegate = self, en supposant l'auto délègue) donc cette attitude avec UIPageViewController. L'obstacle que je rencontre est qu'il n'y a pas PageView comme opposode à PageViewController (comparer avec vue sur la collecte, je CollectionView par opposition à CollectionViewController

enter image description here

Répondre

1

Voici les étapes que vous pouvez utiliser pour produire ceci:.

Vous pouvez obtenir une référence à votre UIPageViewController en remplaçant func prepare(for segue: UIStoryboardSegue, sender: Any?) dans MainViewController. Cette fonction est déclenchée lorsque votre contrôleur embarqué fait un enfant.

Étant donné que vous avez donné votre Segue un nom (Utilisons pageSegue pour cet exemple), vous êtes en mesure de faire quelque chose comme ça dans MainViewController:

func prepare(for segue: UIStoryboardSegue, sender: Any?) { 

    if segue.identifier == "pageSegue", let controller = segue.destination as? UIPageViewController { 
     controller.delegate = self 
     controller.dataSource = self 
    } 

} 
+0

grande qui a fonctionné! – Eyzuky