如何在Swift中使一个条目标签栏控制器内的顶部选项卡栏显示多个视图控制器?

3
我有一个选项卡控制器,显示一些项目。其中一个项目在选项卡控制器中有多个视图控制器,通过顶部选项卡显示。我已经尝试使用分段控件和多个容器视图来实现,但它没有正常工作。
这是我想创建的故事板 StoryboardExample 我希望右侧的三个视图控制器在选项卡项目中的View Controller 2中显示,并由顶部选项卡控制。就像YouTube应用程序中的活动选项卡一样,具有带有Shared和Notifications项目的顶部选项卡。YouTube应用程序中的共享视图YouTube应用程序中的通知视图 编辑
这是从分段控件更改视图的代码。
@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
        }
    }
}

请发布一些你的代码,展示你目前所完成的工作。 - Tejas Pandya
我已经尝试使用分段控件和多个容器视图来实现,但它并没有正常工作。你遇到了什么问题? - Prashant Tukadiya
@Tej,那是我在那个项目选项卡中切换容器视图的方法。 - Muhammad Syahroyni
@PrashantTukadiya 容器视图控制器中的tableview代理和数据源没有正常工作。有时候数据会显示,有时候不会。 - Muhammad Syahroyni
1个回答

0

你需要的是一个自定义选项卡控制器。按照以下步骤,你就可以完成了:https://github.com/codepath/ios_guides/wiki/Creating-a-Custom-Tab-Bar

在这里你应该知道,他们使用UIView和按钮手动创建选项卡栏,我已经用原生选项卡栏实现了一个基本版本,链接在这里:https://github.com/zameerascentic/customTabBarNative

你需要注意以下几点(与教程不同):

  1. 选项卡栏在底部位置,你可以将其移动到任何你想要的位置
  2. 视图控制器被单独创建并加载到一个名为ContainerView的UIView中,在选项卡项目选择委托中进行调用
  3. 检查选项卡标签,它将是0、1等,因为它将是viewControllers数组的索引——我们所有的视图控制器都加载到一个数组中以便于引用。
  4. 视图控制器被赋予storyboardIDs以便被选项卡调用

谢谢,这很有帮助。 - Muhammad Syahroyni

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接