将主标签栏添加到其他视图控制器

时间:2019-04-11 18:52:55

标签: ios swift uitabbar

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

我有一个带有5个标签栏项目的标签栏控制器。在视图管理器中,每个选项卡栏项都有一个按钮,用于在其他视图控制器中显示余额(称为“余额视图控制器”)。我从每个按钮到Balance View Controller都有一个选择。

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

如何将主选项卡栏放置在天平视图控制器上,这样当用户查看完天平后,他可以选择另一个选项卡栏项并继续操作吗?我拒绝使用导航控制器,因为后退按钮会干扰每个屏幕顶部的统一视图,并且我不想对其进行调整。

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

2 个答案:

答案 0 :(得分:2)

另一种方法:

Balance View Controller加载为子ViewController,并将其视图显示在当前视图的顶部。这样一来,标签栏就不会再出现了,允许用户导航到另一个标签。

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

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

由于您说每个标签的VC中都有一个按钮来显示Balance View Controller,所以您可能还希望在选择另一个标签时将其从当前视图中删除。

答案 1 :(得分:1)

  

我拒绝使用导航控制器,因为后退按钮会干扰每个屏幕顶部的统一视图,并且我不想对其进行调整。

实现这一目标的最佳方法是使用UINavigationController,我们可以对“顶部”导航栏和织补back button做些什么,那就是我们可以隐藏整个内容

// Add this to your viewcontroller
override func viewDidLoad() {
    super.viewDidLoad()

    self.navigationController?.isNavigationBarHidden = true
}

如果需要的话,可以进一步禁用视图控制器的动画

希望这会有所帮助

相关问题