J'ai un UIPageViewController, que j'élever programatically, j'ai écrasé le viewControllerBeforeViewController et les viewControllerAfterViewController méthodes pour créer les dinamically viewcontrollers après chaque flip. Le problème est que lorsque je ne termine pas le mouvement de la page de bascule et que le contrôleur de vue précédent revient à la vue, le même contrôleur de vue reste sur l'arrière-plan de la vue, jouant avec le contenu que j'affiche. J'ai essayé d'utiliser la méthode de rappel du UIPageViewController délégué pageViewController didFinishAnimating et à l'intérieur de cette méthode, je reçois les messages que j'ai l'intention d'obtenir, donc quand une animation n'est pas terminée, je peux y réagir, mais quand je rafraîchis le UIPageViewController en définissant son contrôleur de vue actuel, le problème persiste, voici le code:UIPageViewController garder ViewController précédent sur l'arrière-plan de la vue
(void)pageViewController:(UIPageViewController *)pageViewController
didFinishAnimating:(BOOL)finished
previousViewControllers:(NSArray *)previousViewControllers
transitionCompleted:(BOOL)completed {
if (!completed)
{
[self viewDidAppear:NO];
for (UIViewController* vc in previousViewControllers) {
[self setViewControllers: @[vc]
direction: UIPageViewControllerNavigationDirectionForward
animated: NO
completion: nil];
}
return;
}
}
la question est la suivante: Comment puis-je « propre » ou « rafraîchir » ou « claire » le contenu de mon UIPageViewController pour supprimer la vue résiduelle et afficher uniquement celle qui est prévue.