以编程方式向 Controller 显示导航
Show navigation to Controller programatically
我正在将菜单 VC 从故事板更改为程序操作。
当我想加载另一个 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
等,但同样的警告适用。只有导航控制器才能完成您之前所做的事情。
我正在将菜单 VC 从故事板更改为程序操作。
当我想加载另一个 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
等,但同样的警告适用。只有导航控制器才能完成您之前所做的事情。