I ont la fonction suivante qui je voudrais appeler à chaque fois que l'utilisateur fait glisser d'une page à l'autre (paging vertical):détecter les changements dans la page/achèvement d'animation vers une autre page dans UIPageViewController
func sendNotification(){
NotificationCenter.default.post(name: NSNotification.Name(rawValue: "stopVideo"), object: nil)
print("called")
}
Actuellement, la fonction est appelée chaque fois que la pageAfter ou -avant est créée pour ainsi dire. La fonction utilisée pour « créer » la page suivante/précédente ressemble à ceci (dans ce cas, il est viewControllerAfter
):
func pageViewController(_ pageViewController: UIPageViewController, viewControllerAfter viewController: UIViewController) -> UIViewController? {
let currentIndexString = (viewController as! MyViewController).index
let currentIndex = indec.index(of: currentIndexString!)
//set if so that next page
if currentIndex! < indec.count - 1 {
let myViewController = MyViewController()
myViewController.index = indec[currentIndex! + 1]
sendNotification() //function is called
return myViewController
}
return nil
}
Depuis le UIPageViewController prépare un peu les pages suivantes et retourner à la page précédente également ne remet pas la fonction (comme le contrôleur de vue n'a pas besoin d'être "créé") je n'obtiens pas le résultat que je veux. Je me demandais s'il y a une fonction dans laquelle je peux appeler sendNotification()
à la fin de l'animation. J'ai trouvé beaucoup de questions concernant le saut à une autre page mais aucune concernant mon problème. J'apprécierais vraiment votre aide!
Je suis encore à apprendre rapidement et pas tout à fait sûr que je qualifierais ma fonction à l'intérieur ... J'ai ajouté à 'UIPageViewControllerDelegate' à mes types de classe et ai essayé de mettre simplement ma fonction à l'intérieur de la deuxième fonction, mais cela ne fonctionne pas ... – Moritz
pourriez-vous mettre à jour votre question et montrer l'utilisation de la méthode de délégué? –
Trouvé mon erreur, j'ai oublié de 'delegate = self' ... ♂️ merci! – Moritz