ios - 在第一个 ViewController 上使用后退按钮从 Tabbar 打开导航 Controller

标签 ios swift xcode

我知道这个问题已经在 SO 上被问过很多次了,但我问这个只是因为它是相关不同的,而且有些答案已经过时了,有些答案是 Objective-c 中的,我无法正确理解。

用例:

我有一个 UITabBar Controller ,它工作正常。假设我有 4 个选项卡,用户单击选项卡 4 中给出的按钮。现在我必须在其中打开一些 View Controller 系列。假设用户有以下模式需要遵循。

4.A-->4.B--> 4.C 并且可以像这样返回到第一个:4.C-->4.B-->4.A

最后,关闭 4.A View Controller 后还必须允许用户返回 Tab4

我做了什么: 我可以使用此代码打开 View Controller 。

let VC1 = storyboard.instantiateViewController(withIdentifier :"myVcId") as! UIViewController
    let navController = UINavigationController(rootViewController: VC1) // Creating a navigation controller with VC1 at the root of the navigation stack.
    self.present(navController, animated:true, completion: nil)

这是打开一个导航 Controller 并让我根据我的要求导航 View Controller ,但我也想要以下内容

我想要什么:当我以模态方式呈现导航 Controller 时,我想在第一个 View Controller 上显示后退按钮,并且我希望如果用户选择后退按钮,它会杀死所有导航 Controller 并转到他来自的上一个 View Controller

最佳答案

您需要选择第四个选项卡并将其嵌入导航中,然后执行

let vc = storyboard.instantiateViewController(withIdentifier :"myVcId") as! UIViewController
self.navigationController?.pushViewController(vc, animated: true)

然后你会在第一个 vc 上看到一个返回,返回到该选项卡

self.navigationController?.popToRootViewController(animated: true)

关于ios - 在第一个 ViewController 上使用后退按钮从 Tabbar 打开导航 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58502519/

相关文章:

ios - Swift:UIControls 的 UIStackView 带有不触发的选择器方法

ios - 如何在 iOS 中重复播放一首歌曲?

iphone - 如何在 UITapGestureRecognizer 中的 @selector 中传递参数?

swift - 无论实现如何,UISegmentedControl 都拒绝工作

ios - 键盘打开时如何滚动屏幕?

ios - 如何使用 UITableview 部分的首字母而不是整个部分标签?

objective-c - 我应该在 Objective C 中哪里初始化变量?

java - Swift 3.0 中的 FileHandle 和 java 中的 FileInputStream 的区别

swift - 将两个变量值分配给标签时删除单词可选

ios - 自定义注释标注 View 还是自定义 View ?