如何从外部视图控制器转到标签栏项目

Posted

技术标签:

【中文标题】如何从外部视图控制器转到标签栏项目【英文标题】:How to go to tabbar item from an external view controller 【发布时间】:2016-11-22 13:38:20 【问题描述】:

我遇到了一个问题,我和我的一个朋友正在 ios 中构建一个应用程序。 see video.

请观看此视频:

https://youtu.be/SHrBF6h8Nso

问题是当我们完成锻炼并进入完成锻炼屏幕时,我们单击配置文件按钮,它会进入锻炼概览屏幕。但我们希望它进入 profileOverview 屏幕。

我们尝试用这行代码来实现:

self.tabBarController?.selectedIndex = 1. // this results in segue to workoutOverview instead of profileOverview, no matter what index we use

但是完成锻炼概述不是我们拥有的标签栏控制器或导航控制器的一部分。

第二个问题 当按下取消按钮(十字)时,我们希望弹出到第一个视图控制器(muscleList),但不会丢失标签栏!

看看我们的故事板在图片中是如何连接的:

问题:

如何回到标签栏控制器中的配置文件视图控制器? 单击取消按钮时如何显示带有标签栏控制器的视图控制器?

如果有人有想法,那将对我们有很大帮助。

【问题讨论】:

点击取消按钮后通知行使值设置视图控制器移动到导航根视图控制器 @Vinodh 我尝试使用 popToRoot 但这没有用! :( 【参考方案1】:

xCode 的 show segues 存在错误。将所有“显示”序列更改为已弃用的“推送”序列并构建和编译。比再次将所有更改回“显示”,构建,编译,它现在可以工作了!所有视图控制器都将添加到堆栈中。

【讨论】:

以上是关于如何从外部视图控制器转到标签栏项目的主要内容,如果未能解决你的问题,请参考以下文章

切换到另一个视图控制器时,如何保持标签栏可见? [关闭]

使用标签栏控制器离开视图时如何关闭视图

使用标签栏和导航实例化深度视图控制器

如何以编程方式从标签栏控制器卸载视图控制器?

转到特定的标签栏视图

单个标签栏项目根据条件呈现不同的视图控制器?