ios - 添加 segue 时标签栏丢失

标签 ios swift

所以我在一个导航 Controller 和一个标签栏 Controller 中嵌入了 3 个 VC。但是,每当我从第三个 VC 添加一个 segue 到第一个 VC 时,导航栏和选项卡栏就会从 Storyboard 中消失。所以我尝试在第 3 个 VC swift 文件上以编程方式添加一个 segue:

let collectionVC = self.storyboard?.instantiateViewController(withIdentifier: "collectionVC") as! CollectionViewController

    let navigationVC = UINavigationController(rootViewController: collectionVC)
    self.present(navigationVC, animated: true, completion: nil)

不幸的是,添加了上面的代码后,标签栏仍然缺失,但导航栏还在。我希望有人能帮助我。

最佳答案

如果我理解正确你的问题,你正在使用 UINavigationController 并且你正在尝试从 VC3VC1,这意味着你有一个像这样的导航栈:

VC1 -> VC2 -> VC3

如果你想回到VC1,你可以使用:

navigationController?.popToRootViewControllerAnimated(true)‌​

您仍将拥有标签栏、导航栏,而且最重要的是,您不会创建另一个 VC1 实例。这是处理 UINavigationController 的正确且最简单的方法。

关于ios - 添加 segue 时标签栏丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46563897/

相关文章:

ios - View Controller 内的 UITable View ,不随委托(delegate)和数据源实现而改变

ios - Vuetify 数据表在 Safari 中呈现问题

android - 如何在 Corona SDK 中隐藏处于碰撞前事件状态的对象?

iphone - 如何列出 .a 文件中的文件

objective-c - 从函数外部的 C 风格函数访问 NSString

ios - NSInternalInconsistencyException : There can only be one UIApplication instance

ios - 使用 Computed 变量和 Snapkit 时 : No common superview between views

ios - 在图片右上角绘制文字

ios - RX block 的 Realm 通知

swift - 在 Swift 中转换两种不同的协议(protocol)