我的应用程序的根是一个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而不丢失任何导航控制器的导航状态。