Ios 条形图项目按钮在运行时不显示,但在设计时在模式视图中可见

Ios 条形图项目按钮在运行时不显示,但在设计时在模式视图中可见,ios,swift,swift3,interface-builder,xcode8,Ios,Swift,Swift3,Interface Builder,Xcode8,我一直在尝试不同的事情,环顾四周,却找不到问题的答案。也许我做错了什么 示例应用程序包括: 第一视图控制器,使用序列显示第二视图控制器。这个很好用 第二个视图控制器,其中我以编程方式模拟了第三个视图的显示,其中包含一个我想要显示的条形项目按钮(名为“完成”) 第三个视图控制器中的条形项目按钮在运行时不显示,但在设计时显示在IntefaceBuidler中 第三个视图控制器需要以模式显示 显示此条形图项目按钮有何错误 下面是设计时条形图项目按钮的屏幕截图: 下面是设计时未显示的条形图项目按

我一直在尝试不同的事情,环顾四周,却找不到问题的答案。也许我做错了什么

示例应用程序包括:

  • 第一视图控制器,使用序列显示第二视图控制器。这个很好用

  • 第二个视图控制器,其中我以编程方式模拟了第三个视图的显示,其中包含一个我想要显示的条形项目按钮(名为“完成”)

第三个视图控制器中的条形项目按钮在运行时不显示,但在设计时显示在IntefaceBuidler中

第三个视图控制器需要以模式显示

显示此条形图项目按钮有何错误

下面是设计时条形图项目按钮的屏幕截图:

下面是设计时未显示的条形图项目按钮的屏幕截图:

附言:
请忽略“Interface Builder文件中的未知类ThirdViewController”,因为ThirdViewController在运行时显示良好。此外,视图中间的“完成”按钮工作良好。

在代码>第二个VIEW控制器< /代码>中,您需要将第三推到导航控制器堆栈上,例如:

self.navigationController?.pushViewController(thirdViewController, animated: true)
您当前正在将其显示为模态。此外,您还不必要地在情节提要中添加了第二个
UINavigationController
(对于第三个视图控制器)

如果要呈现模态,则需要将控制器嵌入导航控制器中:

let navController = UINavigationController(rootViewController: thirdViewController)
self.present(navController, animated: false)

如果您希望将其保留在情节提要中,则需要为
UINavigationController
提供一个标识符,并在函数中不满足该标识符。

SecondViewController
中,您需要将第三个标识符推到导航控制器堆栈上,如下所示:

self.navigationController?.pushViewController(thirdViewController, animated: true)
您当前正在将其显示为模态。此外,您还不必要地在情节提要中添加了第二个
UINavigationController
(对于第三个视图控制器)

如果要呈现模态,则需要将控制器嵌入导航控制器中:

let navController = UINavigationController(rootViewController: thirdViewController)
self.present(navController, animated: false)

如果您希望将其保留在情节提要中,则需要为
UINavigationController
提供一个标识符,并在您的功能中不满足该标识符。

上述按钮是一个导航栏项,仅显示在导航栏上。为了达到预期的效果,首先必须将导航控制器至少嵌入到第二个viewcontroller中,然后应该执行推送序列而不是模式。导航控制器可以通过以下方式添加:

  • 选择第二个viewcontroller后,转到编辑器\嵌入\导航控制器
  • 用于以编程方式将viewcontroller推送到用户导航控制器的堆栈上使用

self.navigationController?.pushViewController(nextViewController,动画:true)

上述按钮是一个导航栏项目,仅显示在导航栏上。为了达到预期的效果,首先必须将导航控制器至少嵌入到第二个viewcontroller中,然后应该执行推送序列而不是模式。导航控制器可以通过以下方式添加:

  • 选择第二个viewcontroller后,转到编辑器\嵌入\导航控制器
  • 用于以编程方式将viewcontroller推送到用户导航控制器的堆栈上使用

self.navigationController?.pushViewController(nextViewController,动画:true)

感谢您的回答,但在模式视图中需要条形项目按钮。我已经相应地更新了问题。然后您需要将视图控制器嵌入
UINavigationController
中。请参阅更新的答案。多亏了您的反馈,我才让它正常工作。示例应用程序已更新。感谢您的回答,但在模式视图中需要“条形项目”按钮。我已经相应地更新了问题。然后您需要将视图控制器嵌入
UINavigationController
中。请参阅更新的答案。多亏了您的反馈,我才让它正常工作。示例应用程序已更新。感谢您的回答,但您的解决方案不符合要求,即显示模态视图控制器。感谢您的回答,但您的解决方案不符合要求,即显示模态视图控制器。