Angenommen, Sie verwenden UITabBarConroller
Ihr Alle Kind Viewcontrollers können Erben Sie von einer Klasse, die das ganze schwere Heben für Sie erledigt. Diese
ist, wie ich es getan
class SwipableTabVC : UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let left = UISwipeGestureRecognizer(target: self, action: #selector(swipeLeft))
left.direction = .left
self.view.addGestureRecognizer(left)
let right = UISwipeGestureRecognizer(target: self, action: #selector(swipeRight))
right.direction = .right
self.view.addGestureRecognizer(right)
}
func swipeLeft() {
let total = self.tabBarController!.viewControllers!.count - 1
tabBarController!.selectedIndex = min(total, tabBarController!.selectedIndex + 1)
}
func swipeRight() {
tabBarController!.selectedIndex = max(0, tabBarController!.selectedIndex - 1)
}
}
Also alle Ihre Viewcontrollers, die Teil UITabControllers sind aus SwipableTabVC
statt UIViewController erben.
So wäre es nicht möglich, wie im Android-Youtube-Beispiel im ursprünglichen Post zu animieren? – user1689272
Ich habe in der Vergangenheit eine flexiblere Registerkarte Steuerelemente erstellt und es war eine viel benutzerdefinierte Lösung als das obige Beispiel der Tableiste. Das letzte Mal, als ich so etwas gemacht habe, habe ich einen wirklich langen View-Controller erstellt, der alle Section-View-Controller nebeneinander angeordnet hat (ich hatte 5 Sektionen, so dass VC die 5-fache Bildschirmbreite hatte). Die Navigation beinhaltete das Verschieben des Containers VC nach links und rechts. Es ist nicht die beste Methode, da alle VCs zu jeder Zeit im Speicher bleiben, aber es ist das Beste, was ich für das bekommen konnte, wofür ich es brauchte. Ich kann leider keine Code-Schnipsel von diesem zeigen. – skladek
Ab iOS7 ist es möglich, 'UIPercentDrivenInteractiveTransition' mit einem benutzerdefinierten View-Controller-Übergang zu verwenden, um diesen Effekt zu erzielen. Im Grunde haben Sie einen Navigations-Controller mit einer benutzerdefinierten Push/Pop-Animation, um das Verschieben zu machen. UIPercentDrivenInteractiveTransition ermöglicht es, dass der Übergang als Schwenken und nicht als Wischen verfolgt wird. – skladek