我的应用程序的根是一个UITabBarController,共有5个部分,每个部分都包含一个UINavigationController

我还想在应用程序中添加聊天功能,该功能可以通过应用程序每个导航栏中的rightBarButton访问。我希望它在屏幕上显示一个聊天UIViewController,取消选择当前选择的选项卡栏项目,并且不丢失五个导航控制器的导航状态,甚至不包括先前在点击聊天按钮之前选择的一个。我最好的选择是什么?

感谢您的帮助/想法。

最佳答案

步骤1:在情节提要中添加一个ChatViewController
  -如果您想要一个导航栏,请将您的ChatViewController嵌入到Navigation View Controller中。在您的ChatViewController中添加一个关闭BarButtonItem。

步骤2:在ChatViewController中创建一个Close Action,并与StoryBoard中的BarButtonItem绑定。

@IBAction func CloseAction(_ sender: UIBarButtonItem) {
    dismiss(animated: true, completion: nil)
}


第三步:
在情节提要中,使用rightBarButton选择“导航控制器”,然后选择“模态呈现”并连接到ChatViewController的导航控制器。

您可以转到ChatViewController而不丢失任何导航控制器的导航状态。

10-08 07:48