在不同导航控制器中的标签栏控制器屏幕之间导航

时间:2017-03-15 13:22:42

标签: ios swift uinavigationcontroller uitabbarcontroller

首先对不起,如果我解释得很严重,我已经多次重读我的问题了,我无法弄清楚如何解释这个问题的好方法。如果您有任何其他问题,请告诉我......

我的应用程序的布局需要将屏幕嵌入到标签栏控制器和导航控制器中。我已经设置它以便它在大多数情况下工作,但是我遇到了从一个导航控制器/标签导航到另一个的一些问题 - 我有一个导航控制器用于一个标签(用户选择图像到上传),以及第二个选项卡中屏幕的第二个导航控制器。这是故事板中的样子:

enter image description here

我遇到的问题是,一旦用户选择要在“上部”导航控制器中发布的照片​​(“右侧”选项卡)并点击“发布”,我就会导航到新更新的Feed(在另一个内部) tab)with:

                let feedController = self.storyboard?.instantiateViewController(withIdentifier: "feedVC") as! FeedViewController
                feedController.navigationItem.setHidesBackButton(true, animated: false)
                self.navigationController?.pushViewController(feedController, animated: true)

当屏幕和更新的Feed显示正确时,我仍然在“正确”标签内,当Feed应位于“左侧”标签中时。

我的问题是,如何正确导航到其他导航控制器,并将其放回正确的标签中?

1 个答案:

答案 0 :(得分:2)

您可以使用tabBarController?.selectedIndex = 0切换标签,而不是将新视图控制器推送到当前标签页的导航堆栈中。这应该会将您带回到原始供稿页面,而不需要任何推送代码。

为了使用新帖子更新它,您需要通过覆盖视图控制器的viewWillAppear方法来刷新数据,以重新获取数据并重新加载集合视图。