如何在另一个 TabController 中转到 ViewController?
How can I segue to a ViewController in another TabController?
我正在 Xcode 中使用 Swift 编写一个应用程序,但我正在努力解决一件事。
我有一个 UITabBarController。其中有 2 个标签,假设是“主页”和“新闻”。
- 在“主页”选项卡中,有一个导航控制器、一堆内容、一些按钮与同一选项卡中的其他视图控制器相连。基本的东西。
- 在“新闻”选项卡中,还有另一个导航控制器和一个显示(您猜对了)一堆新闻的 TableView。当我点击一条新闻时,我会转到 NewsDetails 视图控制器。还有基本的东西。
现在,我的问题来了。
在首页,我显示最新的新闻,而且只有这一条。现在,如果我点击这个新闻,我会转到 NewsDetails 视图控制器,但我会留在主页选项卡和它自己的导航控制器中。
我想做的是转到 NewsDetails,但是在 News 选项卡和 News Navigation Controller 中。
总而言之,我正在寻找的行为如下:当我点击主页中的最新新闻时,我想在“新闻”选项卡中结束,查看新闻详细信息。从那里,如果我点击后退按钮,我将返回到“新闻”选项卡根目录,而不是“主页”选项卡。
我希望我已经足够清楚了。非常感谢任何帮助、指导或指导。
谢谢!
if let tabVC = self.tabController {
tabVC.selectedIndex = 1
if let navController = tabVC.selectedViewController as? UINavigationController {
let vc = UIViewController()
navController.pushViewController(vc, animated: false)
}
}
由于您提到只有 2 个选项卡,所以我假设新闻是第二个选项卡,因此将 selectedIndex 设为 1
此外,由于您是从主页视图控制器调用它,我们可以使用 self.tabController 直接获取标签栏。或者你也可以使用 -
let tabVC = UIApplication.shared.keyWindow?.rootViewController as? UITabBarController
我正在 Xcode 中使用 Swift 编写一个应用程序,但我正在努力解决一件事。
我有一个 UITabBarController。其中有 2 个标签,假设是“主页”和“新闻”。
- 在“主页”选项卡中,有一个导航控制器、一堆内容、一些按钮与同一选项卡中的其他视图控制器相连。基本的东西。
- 在“新闻”选项卡中,还有另一个导航控制器和一个显示(您猜对了)一堆新闻的 TableView。当我点击一条新闻时,我会转到 NewsDetails 视图控制器。还有基本的东西。
现在,我的问题来了。 在首页,我显示最新的新闻,而且只有这一条。现在,如果我点击这个新闻,我会转到 NewsDetails 视图控制器,但我会留在主页选项卡和它自己的导航控制器中。 我想做的是转到 NewsDetails,但是在 News 选项卡和 News Navigation Controller 中。
总而言之,我正在寻找的行为如下:当我点击主页中的最新新闻时,我想在“新闻”选项卡中结束,查看新闻详细信息。从那里,如果我点击后退按钮,我将返回到“新闻”选项卡根目录,而不是“主页”选项卡。
我希望我已经足够清楚了。非常感谢任何帮助、指导或指导。
谢谢!
if let tabVC = self.tabController {
tabVC.selectedIndex = 1
if let navController = tabVC.selectedViewController as? UINavigationController {
let vc = UIViewController()
navController.pushViewController(vc, animated: false)
}
}
由于您提到只有 2 个选项卡,所以我假设新闻是第二个选项卡,因此将 selectedIndex 设为 1
此外,由于您是从主页视图控制器调用它,我们可以使用 self.tabController 直接获取标签栏。或者你也可以使用 -
let tabVC = UIApplication.shared.keyWindow?.rootViewController as? UITabBarController