我的导航栏显示在故事板中,但不在模拟器中

当试图添加一个导航栏来search左边的button,最后在右边的barbutton上放置一个设置button时,模拟器中就不会显示该栏。 截图

我应该使用一个常规的工具栏吗? 我更喜欢用于加载新地址的searchbutton,以及显而易见的设置,但是我希望button用作从标签页移动到标签页的导航。 我应该只在地图视图上方实施一个search栏,并在右侧设置一个设置button? 我是新来的Xcode和它踢我的屁股。

编辑:更改隐藏后,“self.navigationController?.setToolbarHidden(假,animation:真)”工具栏出现,但在当前工具栏下方的底部与缩放和typesbutton。 所以它看起来好像它认为它是一个工具栏,只想把它放在底部?

self.navigationController.navigationBar.hidden = false; 

使用上面的代码来显示导航栏。

我相信,您可能会将地图视图的顶部alignment到顶部布局指南的顶部,如果是这种情况,您的托波尔可能会隐藏在地图视图之后。 我将在地图视图中更改该约束条件,并在顶部的工具栏中使用“垂直间距”,并将其值设为0。

不要手动添加导航栏如果您正在添加。 你将得到你的导航栏与您的导航控制器。 在viewWillAppear()放置代码行self.navigationController?.setNavigationBarHidden(false, animated: true)

Swift 4解决scheme

将此代码添加到您的ViewController中:

  override func viewWillAppear(_ animated: Bool) { self.navigationController?.navigationBar.isHidden = false }