添加 segue 后,导航项在界面构建器中不可见
Navigation Item not visible in interface builder after adding segue
我有自定义 UIView,它使用 .xib 文件。我在视图控制器内的情节提要中添加了这个视图。之后,我向其中添加了 TapGestureRecognizer。然后我将 segue 附加到点击手势识别器(不需要代码以这种方式从自定义视图执行 segue)。
问题是,界面生成器中没有显示导航项。当我构建 运行 应用程序时,导航在屏幕上显示,一切都按预期进行。
当我从 VC 添加 segue 到 VC 时,导航栏显示在界面生成器中。为什么我会出现这种行为?
对我来说,这似乎是 Interface Builder 中的错误。
对于这种情况,我看到了两种可能的解决方法:
将 segue 从 ViewController 连接到 ViewController。给它一个 标识符 。在 Tap Gesture Recognizer 的 @IBAction
中使用 performSegue(withIdentifier:sender:)
以编程方式调用它。这样做的缺点是需要添加代码。
通过设置 Attributes Inspector -> Simulated Metrics -> Top Bar[=,将 Navigation Bar 添加到 ViewController 36=] 到 半透明导航栏 。这允许您在 Interface Builder 中看到 导航栏。这样做的缺点是您需要为链下的每个 ViewController 执行此操作。
我有自定义 UIView,它使用 .xib 文件。我在视图控制器内的情节提要中添加了这个视图。之后,我向其中添加了 TapGestureRecognizer。然后我将 segue 附加到点击手势识别器(不需要代码以这种方式从自定义视图执行 segue)。
问题是,界面生成器中没有显示导航项。当我构建 运行 应用程序时,导航在屏幕上显示,一切都按预期进行。
当我从 VC 添加 segue 到 VC 时,导航栏显示在界面生成器中。为什么我会出现这种行为?
对我来说,这似乎是 Interface Builder 中的错误。
对于这种情况,我看到了两种可能的解决方法:
将 segue 从 ViewController 连接到 ViewController。给它一个 标识符 。在 Tap Gesture Recognizer 的
@IBAction
中使用performSegue(withIdentifier:sender:)
以编程方式调用它。这样做的缺点是需要添加代码。通过设置 Attributes Inspector -> Simulated Metrics -> Top Bar[=,将 Navigation Bar 添加到 ViewController 36=] 到 半透明导航栏 。这允许您在 Interface Builder 中看到 导航栏。这样做的缺点是您需要为链下的每个 ViewController 执行此操作。