如何更改导航控制器的根控制器出现在屏幕上的方式?

时间:2017-06-30 18:23:35

标签: swift3 uinavigationcontroller presentviewcontroller

导航控制器不是初始视图控制器。它在初始VC中实例化,并提供了根控制器,第二个VC。当我调用当前视图控制器功能时,我无法改变这个新VC的呈现方式,它总是从底部出现。我没有找到如何让它从右到左。我试图改变谁从第二个VC调用modalPresentaionStyle到nav con并返回但没有变化。 代码清单如下。谢谢你的帮助。

@objc fileprivate func showRegisterScreen() { 
    let registerAccountVC = RegisterAccountVC()
    let navigationController = UINavigationController(rootViewController: registerAccountVC)
    navigationController.modalPresentationStyle = .pageSheet
    present(navigationController, animated: true, completion: nil)
}

1 个答案:

答案 0 :(得分:1)

这将从右到左添加自定义动画。

let transition = CATransition.init()
transition.duration = 0.4
transition.timingFunction = CAMediaTimingFunction.init(name: kCAMediaTimingFunctionEaseInEaseOut)
transition.type = kCATransitionPush
transition.subtype = kCATransitionFromRight
view.window?.layer.add(transition, forKey: nil)
present(navigationController, animated: false, completion: nil)