我有两个故事板。 在Main.storyboard中我有一个带按钮的视图控制器。单击按钮时,我加载第二个故事板Second.storyboard。这是我用来加载Second.storyboard
的代码DispatchQueue.main.async {
let storyBoard : UIStoryboard = UIStoryboard(name: "Second", bundle:nil)
let nextViewController = storyBoard.instantiateViewController(withIdentifier: "Tools") as UIViewController
self.present(nextViewController, animated:true, completion:nil)
}
在Second.storyboard中,我有一个导航控制器和2个视图控制器A和B.
问题是,在跑步时,我没有看到B中的后退按钮返回A。
我尝试过的事情: 我创建了另一个项目。我在main.storyboard中嵌入了导航控制器和2个视图控制器A和B.这很好用。显示后退按钮。这告诉我,当我加载第二个故事板时,我错过了一些东西
我尝试添加此
// Do any additional setup after loading the view.
self.title = "Title"
let navigationBar = navigationController!.navigationBar
navigationBar.tintColor = UIColor.blue
let leftButton = UIBarButtonItem(title: "Left Button", style: UIBarButtonItemStyle.plain, target: self, action: nil)
let rightButton = UIBarButtonItem(title: "Right Button", style: UIBarButtonItemStyle.plain, target: self, action: nil)
navigationItem.leftBarButtonItem = leftButton
navigationItem.rightBarButtonItem = rightButton
我看到一些样本加载了没有此行DispatchQueue.main.async {}
的故事板。然而;如果我不使用它,我会收到错误并且程序会崩溃。
如何添加导航控制器?我选择了第一个View Controller,Editor,Embed in,Navigation Controller。
我正在尝试在第二个故事板上显示导航控制器,但它没有显示后退按钮。
有人说这是我想要做的第二个应用程序,非常感谢任何帮助。
答案 0 :(得分:1)
在呈现“第二”后你看到了什么?您是否看到了导航标题/标题区域?只是缺少后退按钮?
你是如何从A推动B的?
我怀疑“工具”不是“秒”中的导航控制器。在调用storyBoard.instantiateViewController(withIdentifier: "Tools")
时,您希望引用导航控制器 - 而不是A。
答案 1 :(得分:0)
调用presentViewController在现有导航堆栈之外以模态方式呈现视图控制器;它不包含在您的UINavigationController或任何其他内容中。如果您希望新视图控制器具有导航栏,则有两个主要选项:
将新视图控制器推送到现有导航堆栈,而不是以模态方式呈现:
让VC1 = self.storyboard!.instantiateViewControllerWithIdentifier(“MyViewController”)为!视图控制器 self.navigationController!.pushViewController(VC1,animated:true)
我在这篇文章中找到了这个答案://stackoverflow.com/questions/25444213/presenting-viewcontroller-with-navigationviewcontroller-swift