J'ai une application avec 3 onglets. Je veux glisser à droite ou à gauche pour aller à un autre onglet.TabController disparaît lors de l'utilisation du geste de balayage
Mon code:
//Swipe Between Tabs
let rightSwipe = UISwipeGestureRecognizer(target: self, action: Selector("handleSwipes:"))
let leftSwipe = UISwipeGestureRecognizer(target: self, action: Selector("handleSwipes:"))
rightSwipe.direction = .Right
leftSwipe.direction = .Left
view.addGestureRecognizer(rightSwipe)
view.addGestureRecognizer(leftSwipe)
//end Swipe
et la fonction de l'exécuter est
func handleSwipes(sender:UISwipeGestureRecognizer) {
if (sender.direction == .Left) {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("PantryList")
let navigationController = UINavigationController(rootViewController: vc)
self.presentViewController(navigationController, animated: true, completion: nil)
}
if (sender.direction == .Right) {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("ToDoList")
let navigationController = UINavigationController(rootViewController: vc)
self.presentViewController(navigationController, animated: true, completion: nil)
}
}
Mon problème est que tabBarController au fond disparaît lorsque swipe est utilisé. De ce que j'ai trouvé il a à voir avec la méthode "presentViewController". Est-ce que c'est ce qui le cause et y a-t-il un moyen de le faire sans perdre le tabBarController? Je ne veux vraiment pas utiliser prepareForSegueWithIdentifier si je n'ai pas à le faire. Cela semble être plus de travail que ce qui doit être fait, à moins que ce soit comme cela qu'il faut le faire.
génial, fonctionne comme je le voulais. Sauf une chose ... J'ai bien aimé la transition de l'écran qui glissait du bas quand elle passait. Je n'ai aucune idée de comment faire les transitions et j'ai eu de la chance sur le dernier haha. Comment puis-je récupérer ceci avec la méthode 'selectedIndex:'? –