我正在设置新的导航根。我想在设置导航时显示动画。我可以使用以下代码设置翻转和卷曲动画。
UIView.transition(with: self.window!, duration: 2, options: .transitionFlipFromLeft, animations: {
let navController = UINavigationController()
// App Theming
navController.navigationBar.barTintColor = .white
navController.navigationBar.tintColor = .white
navController.navigationBar.titleTextAttributes = [NSAttributedStringKey.foregroundColor: UIColor.white]
navController.pushViewController(viewContoller, animated: true)
self.window?.rootViewController = navController
self.window?.makeKeyAndVisible()
}, completion: {_ in})
但是,我需要为此从左到右设置幻灯片动画。任何人都可以让我知道如何实现这一目标吗?
答案 0 :(得分:0)
如果您想假冒对新根视图的推送,可以执行以下操作。
let navController = UINavigationController()
//App Theming
navController.navigationBar.barTintColor = .white
navController.navigationBar.tintColor = .white
navController.navigationBar.titleTextAttributes = [NSAttributedStringKey.foregroundColor: UIColor.white]
//create our fake animation
let trans = CATransition()
trans.type = kCATransitionPush
trans.subtype = kCATransitionFromRight
trans.duration = 0.4
self.window?.layer.add(trans, forKey: nil)
//set your window change here
self.window?.rootViewController = navController
self.window?.makeKeyAndVisible()
完全未经测试,但我可以肯定的是我过去曾经做过。如果这样不起作用,请尝试设置rootViewController,然后添加动画。