问题描述
我将菜单VC从StoryBoard更改为编程操作。
当我想加载另一个VC时,我正在使用Action Segue“ Show”。
我正在使用的临时代码有效,但是将VC弹出顶部。您可以通过编程方式操作“显示”等效项吗?如果可以,怎么办?
let storyBoard: UIStoryboard = UIStoryboard(name: "Main",bundle: nil)
let newViewController = storyBoard.instantiateViewController(withIdentifier: "SunriseSunsetResultsViewController")
self.present(newViewController,animated: true,completion: nil)
解决方法
要执行Show segue的操作,请将present
替换为show
:
let storyBoard: UIStoryboard = UIStoryboard(name: "Main",bundle: nil)
let newViewController = storyBoard.instantiateViewController(withIdentifier: "SunriseSunsetResultsViewController")
self.show(newViewController,sender: self)
但是请注意,除非present
不是self.navigationController
,否则此操作与nil
相同。换句话说,除非导航控制器负责该界面,否则您无法进行以前的横向导航。
您可以说show
而不是pushViewController
,但同样要注意。只有导航控制器才能执行您以前的操作。