将主选项卡栏添加到其他视图控制器

Add Main Tab Bar to Other View Controller

我是一名新 Swift 开发人员。我正在使用 Swift 4.2 和 XCode 10.2.

我有一个带有 5 个标签栏项目的标签栏控制器。在每个选项卡栏项目的视图控制器中,都有一个按钮来显示不同视图控制器中的余额(称之为 Balance View Controller)。我从每个按钮到 Balance View Controller 都有一个 segue。

我正在使用界面生成器,但很乐意添加代码。

如何将主选项卡栏放在余额视图控制器上,以便当用户查看完余额后,他可以 select 另一个选项卡栏项目并继续?我拒绝使用导航控制器,因为后退按钮会干扰每个屏幕顶部的统一视图,我不想调整它。

我找不到任何解决此问题的 SO 问题。我发现的所有其他网络资源都是关于如何实现标签栏的非常基础的内容。任何帮助将不胜感激。

I rejected using a navigation controller because the back button will interfere with the uniform view at the top of every screen and I don't want to adjust it.

实现此目的的最佳方法是 UINavigationController 我们可以对顶部导航栏做些什么,该死的 back button 我们可以通过

隐藏整个内容
// Add this to your viewcontroller
override func viewDidLoad() {
    super.viewDidLoad()

    self.navigationController?.isNavigationBarHidden = true
}

如果你想更进一步,你可以禁用视图控制器的动画

希望这对您有所帮助

另一种方法:

加载 Balance View Controller 作为子 ViewController,并在当前视图之上显示其视图。这将单独保留选项卡栏,允许用户导航到另一个选项卡。

Balance View Controller 听起来好像只是个信息显示。如果是这样,您可以添加轻击手势,只需轻按一下即可将其从当前视图中删除。

如果 Balance View Controller 是交互式的,您可以添加一个按钮将其从当前视图中删除。

既然您说每个选项卡的 VC 中都有一个按钮来显示 Balance View Controller,那么您可能还想在选择另一个选项卡时将其从当前视图中删除。