Ios 在不松开导航栏的情况下显示第二视图控制器

Ios 在不松开导航栏的情况下显示第二视图控制器,ios,objective-c,swift,navigation,wkwebview,Ios,Objective C,Swift,Navigation,Wkwebview,我编写了以下代码,每当用户单击网页的链接时,都会显示第二个视图控制器。但是,无论何时显示,第二个视图控制器都会隐藏导航栏 我希望能够通过允许用户单击导航栏中的“后退”来取消新显示的视图。我该怎么做 func webView(webView: WKWebView, decidePolicyForNavigationAction navigationAction: WKNavigationAction!, decisionHandler: ((WKNavigationActionPolicy) -&

我编写了以下代码,每当用户单击网页的链接时,都会显示第二个视图控制器。但是,无论何时显示,第二个视图控制器都会隐藏导航栏

我希望能够通过允许用户单击导航栏中的“后退”来取消新显示的视图。我该怎么做

func webView(webView: WKWebView, decidePolicyForNavigationAction navigationAction: WKNavigationAction!,
decisionHandler: ((WKNavigationActionPolicy) -> Void)!){
/* Do not allow links to be tapped */

if navigationAction.navigationType == .LinkActivated{
decisionHandler(.Cancel)

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("helloview") as UIViewController

self.presentViewController(vc, animated: true, completion: nil)

return
}
decisionHandler(.Allow)
}

这就是它看起来的样子。我点击链接,然后出现第二个视图。视图是一个简单的UIViewController,上面只有一个标签。但是,我丢失了导航栏


您应该将新的视图控制器推送到导航堆栈上,而不是将其显示为模式视图控制器。替换

self.presentViewController(vc, animated: true, completion: nil)


您需要“推”视图控制器,例如:

self.navigationController?.pushViewController(vc, animated: true)

两者我都接受。眼镜蛇的一个语法最正确,你的语法信息最丰富。两人一票,谢谢。
self.navigationController?.pushViewController(vc, animated: true)