导航栏项目是不可见的

Navigation bar items are invisible

Xcode10,Swift5

我想在导航栏上创建一个按钮,但我无法让它实际显示出来。我的项目设置是:

  1. ViewController1(VC1,黄色):"Click" 开始转至
  2. 的按钮
  3. NavigationController (NC):转到
  4. ViewController2(VC2,红色):"Next" 加载的按钮
  5. ViewController3(VC3,绿色)

UINavigationController 中嵌入 VC2 并使用 segue 将其连接到 VC3 会自动在 VC3 中创建一个 "Back" 按钮。

如何使我在 VC3 中 UINavigationBar 右侧的 "Button" 变得可见 - 仅使用 Storyboard?

我犯的错误是添加了一个 UINavigationBar,它被添加在现有 UINavigationBar 的后面,因此它的所有项目都是不可见的!

UINavigationController 自动添加的 UINavigationBar 未显示在层次结构中!如果有一个 "back" 按钮,就会有一个,所以在这种情况下添加一个 UINavigationItem 来代替。这将创建一个 Title 项目。

将您要添加的新项目拖到 UINavigationBar 的左侧或右侧,然后会出现一个蓝色方块,指示您可以将其放下的位置。此项目可以是 UIBarButtonItem(可以像按钮一样链接起来)、UIButton(也会自动创建 UIBarButtonItem)、...甚至 UIView.删除一个项目会将它添加到层次结构中,如果它是第一个,两个新的 children 也将被添加到 Title:

  1. 左栏按钮项目
  2. 右栏按钮项目

重要提示:向左侧添加内容 "drop zone" 会覆盖 "back" 按钮,这意味着您将不得不自己处理返回到上一屏幕的问题。这很容易通过为此项目创建一个 "onClick" 操作(ctrl+拖动到 .swift 文件)然后调用:

navigationController?.popViewController(animated: true)