Mein UITabBarController ist der Root-View-Controller in einem NavigationController
Dies ist der Code, den ich verwende, um die Tab-Leiste auszublenden
Code: Select all
// rootTabBarController is UITabBarController
UIView.animate(withDuration: AppStyling.NavigationBar.Animation.showHideDuration,
delay: .zero,
options: .curveEaseInOut) {
let tabBarFrame = rootTabBarController.tabBar.frame
let navControllerView = rootTabBarController.navigationController!.view
rootTabBarController.tabBar.frame.origin.y = shouldHide
? navControllerView.frame.maxY + tabBarFrame.height
: navControllerView.frame.maxY - tabBarFrame.height
}
Nachdem ich jedoch die SwiftMessages-Bibliothek zum Präsentieren einer Ansicht verwendet habe, passiert etwas Seltsames – hier ansehen< /p>
Es ist, als ob die Animation beendet und auf die ursprüngliche Position zurückgesetzt würde.
Es ist, als ob die Darstellung der schnellen Nachrichtenansicht etwas mit dem durcheinander bringt Fenster ?
Wenn ich die Frame-Werte für die Animation debugge, Sie scheinen alle wie erwartet zu sein.
Mein Grund für die Rahmenanimationen im Gegensatz zu versteckten oder undurchsichtigen Animationen besteht darin, das Zusammenziehen/Reduzieren der Tab-Leiste zu animieren.Ich frage mich, ob jemand weiß, in welchen Situationen sich eine UIView-basierte Animation nicht wie erwartet verhalten würde, wenn sie funktioniert.