如何在1项标签栏控制器中制作顶部标签栏以在swift中显示多个视图控制器?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在1项标签栏控制器中制作顶部标签栏以在swift中显示多个视图控制器?相关的知识,希望对你有一定的参考价值。

我有标签栏控制器,显示一些项目。标签栏控制器中的一个项目具有多个视图控制器,由顶部标签栏显示。我已经尝试使用段控制和多个容器视图,但它没有正常工作。

这是我想制作StoryboardExample的故事板

我希望右侧的三个视图控制器显示在项目选项卡栏中的View Controller 2中,并通过顶部选项卡栏进行控制。因此,它类似于Youtube应用程序中的活动选项卡,其顶部标签栏包含项目共享和通知。 Shared View in Youtube ApplicationNotification View in Youtube Application

编辑

这是从段控件更改视图的代码,

@objc func changeGroup(sender: UISegmentedControl)
{
    if sender.numberOfSegments == 3
    {
        switch sender.selectedSegmentIndex
        {
        case 0 :
            if self.groupView.isHidden == true
            {
                self.groupView.isHidden = false
            }
            if self.inspirationView.isHidden == false
            {
                self.inspirationView.isHidden = true
            }
            if self.pesantrenView.isHidden == false
            {
                self.pesantrenView.isHidden = true
            }

        case 1:
            if self.groupView.isHidden == false
            {
                self.groupView.isHidden = true
            }
            if self.inspirationView.isHidden == true
            {
                self.inspirationView.isHidden = false
            }
            if self.pesantrenView.isHidden == false
            {
                self.pesantrenView.isHidden = true
            }

        case 2:
            if self.groupView.isHidden == false
            {
                self.groupView.isHidden = true
            }
            if self.inspirationView.isHidden == false
            {
                self.inspirationView.isHidden = true
            }
            if self.pesantrenView.isHidden == true
            {
                self.pesantrenView.isHidden = false
            }

        default :
            break
        }
    }
}
答案

你想要的是一个自定义标签栏控制器。按照这个线索,你将回家:https://github.com/codepath/ios_guides/wiki/Creating-a-Custom-Tab-Bar

在这里你应该知道,他们用UIView和Buttons手动创建标签栏我在这里实现了一个带有原生标签栏的基本版本:https://github.com/zameerascentic/customTabBarNative

您应该注意(与该教程不同):

  1. 标签栏位于此处的底部,您可以移动到任何您想要的位置
  2. 视图控制器是单独创建的,并加载到标签栏项目选择委托上称为容器视图的UIView中
  3. 检查标签栏标签,它将是0等,因为它将是viewControllers数组的索引 - 我们所有的视图控制器都被加载到一个数组中以便于参考。
  4. ViewControllers被赋予了由标签栏调用的storyboardID

以上是关于如何在1项标签栏控制器中制作顶部标签栏以在swift中显示多个视图控制器?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 FLTK 中编写面板任务栏以在 Linux 系统上使用

如何在标签栏控制器中隐藏一个标签?

无论选择哪个选项卡,都显示顶部栏

如何使用标签栏以全屏模式打开 UIView?

Ios Swift:在自定义标签栏中显示导航栏

我们如何创建一个更大的中心 UITabBar 项