我在GitHub上遇到了一个库调用Motion,该库提供了视图和控制器上的过渡集。 基于网站,要在导航控制器上使用动画,我们需要创建一个新的导航控制器类,如下所示,我将应用新的导航控制器。但是当它失败并且没有推送到新的视图控制器时。
GitHub链接为https://github.com/CosmicMind/Motion
class AppNavigationController: UINavigationController {
open override func viewDidLoad() {
super.viewDidLoad()
isMotionEnabled = true
motionNavigationTransitionType = .zoom
}
}
然后在主视图上:
let navigation = AppNavigationController()
navigation.pushViewController(newViewController, animated: false)
答案 0 :(得分:0)
如果您在整个应用中都使用Motion
的动画NavigationController
,则可以在AppDelegate
的{{1}}方法中以这种方式进行设置。
didFinishLaunchingWithOptions
更新:
如果要创建一个单独的let newViewController = NewViewController(nibName: "NewViewController",bundle: nil)
let navigation = AppNavigationController(rootViewController: newViewController!)
self.window?.rootViewController = navigation
self.window?.makeKeyAndVisible()
并将特定的NavigationController
推入它,则需要显示而不是将其推入导航控制器。见下文。
UIViewController