Ok, j'ai regardé à travers https://developer.apple.com/videos/play/wwdc2013/218/ et SO questions essayant de même de faire des transitions personnalisées avec un contrôleur de barre d'onglets et ses viewcontrollers, mais je cours dans la confusion après avoir déterminé les principales étapes ici.Swift: Problèmes avec UIView.transition personnalisée?
J'ai besoin de savoir comment (ce qui signifie que le code exemple serait vraiment utile) pour appeler un UIView.transition
personnalisé ou simplement avoir un option
personnalisé dans UIView.transition
. J'ai besoin de l'utiliser pour faire une transition glisser/modale -mimicking entre les onglets dans mon contrôleur de barre d'onglets.
La seule façon que je peux obtenir une transition arriver est d'utiliser la fonction ci-dessous (ce qui les rend dissoudre):
func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {
if selectedViewController == nil || viewController == selectedViewController {
return false
}
let fromView = selectedViewController!.view
let toView = viewController.view
UIView.transition(from: fromView!, to: toView!, duration: 0.3, options: [.transitionCrossDissolve], completion: nil)
return true
}
Et d'appeler manuellement ici où je chnage programme le *selectedIndex*
pour mon contrôleur onglet:
//SWITCHES BUTTON -------------------------------------------
func switchTab(index: Int)
{
//transition
self.tabBarController(self, shouldSelect: (viewControllers?[index])!)
J'ai lu et essayé de faire une classe personnalisée UIViewControllerAnimatedTransitioning
mais je ne sais pas comment cela cadrerait programme ici -
mes tentatives en transmettant mon contrôleur de barre d'onglets et les toView
et fromView
dans la classe personnalisée aboutissent à ce que rien ne se passe/n'anime. C'est pourquoi j'ai eu recours à UIView.transition ici.
Comment puis-je faire un UIView.transition
personnalisé? Que puis-je faire ici?