添加 segue 后,导航项在界面构建器中不可见

Navigation Item not visible in interface builder after adding segue

我有自定义 UIView,它使用 .xib 文件。我在视图控制器内的情节提要中添加了这个视图。之后,我向其中添加了 TapGestureRecognizer。然后我将 segue 附加到点击手势识别器(不需要代码以这种方式从自定义视图执行 segue)。

问题是,界面生成器中没有显示导航项。当我构建 运行 应用程序时,导航在屏幕上显示,一切都按预期进行。

当我从 VC 添加 segue 到 VC 时,导航栏显示在界面生成器中。为什么我会出现这种行为?

对我来说,这似乎是 Interface Builder 中的错误。

对于这种情况,我看到了两种可能的解决方法:

  1. 将 segue 从 ViewController 连接到 ViewController。给它一个 标识符 。在 Tap Gesture Recognizer@IBAction 中使用 performSegue(withIdentifier:sender:) 以编程方式调用它。这样做的缺点是需要添加代码。

  2. 通过设置 Attributes Inspector -> Simulated Metrics -> Top Bar[=,将 Navigation Bar 添加到 ViewController 36=] 到 半透明导航栏 。这允许您在 Interface Builder 中看到 导航栏。这样做的缺点是您需要为链下的每个 ViewController 执行此操作。