当我执行以下操作时,我看不到对我设置的转换样式的任何更改。我尝试过在代码中更改它,也尝试过直接在情节提要视图控制器上设置值。
let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "EditorViewController") as! EditorViewController
vc.modalPresentationStyle = .fullScreen
vc.modalTransitionStyle = .partialCurl
self.show(vc, sender: self)
但是,当我执行以下操作时,转换样式会起作用,但我没有与视图控制器关联的情节提要视图,并且会引发错误。
let vc = EditorViewController()
vc.modalPresentationStyle = .fullScreen
vc.modalTransitionStyle = .partialCurl
self.show(vc, sender: self)
我认为问题是因为您使用的是show()
而不是present()
。
我试着复制你的场景,当没有UINavigationController
时,它可以与show函数一起工作。我猜UINavigationController
会接管转换的发生方式。然而,当我尝试这样做时,这两个场景都没有达到所需的动画和全屏效果。如果我没有UINavigationController
,那么这两种情况都有效。所以我不太确定错误是什么,但我认为应该使用present()
函数。