Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何使顶部选项卡栏位于1项选项卡栏控制器内,以在swift中显示多个视图控制器?_Ios_Swift_Tabs_Uitabbarcontroller - Fatal编程技术网

Ios 如何使顶部选项卡栏位于1项选项卡栏控制器内,以在swift中显示多个视图控制器?

Ios 如何使顶部选项卡栏位于1项选项卡栏控制器内,以在swift中显示多个视图控制器?,ios,swift,tabs,uitabbarcontroller,Ios,Swift,Tabs,Uitabbarcontroller,我有一个显示一些项目的选项卡栏控制器。 选项卡栏控制器中的一项具有多个视图控制器,这些视图控制器通过顶部选项卡栏显示。 我已经尝试过使用段控件和多容器视图,但没有正常工作 这是我想制作的故事板 我希望右侧的三个视图控制器在项目选项卡栏的视图控制器2中显示,并通过顶部选项卡栏进行控制。 所以,它就像Youtube应用程序中的“活动”选项卡一样,在顶部的选项卡栏上有项目共享和通知。 , 编辑 这是从段控制更改视图的代码 @objc func changeGroup(sender: UISegme

我有一个显示一些项目的选项卡栏控制器。 选项卡栏控制器中的一项具有多个视图控制器,这些视图控制器通过顶部选项卡栏显示。 我已经尝试过使用段控件和多容器视图,但没有正常工作

这是我想制作的故事板

我希望右侧的三个视图控制器在项目选项卡栏的视图控制器2中显示,并通过顶部选项卡栏进行控制。 所以,它就像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
        }
    }
}

您需要的是自定义选项卡栏控制器。按照这条线索走,你就到家了:

在这里,您应该知道,他们使用UIView和按钮手动创建选项卡栏。我在这里使用本机选项卡栏实现了基本版本:

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

  • 选项卡栏位于底部,您可以随意移动
  • 视图控制器单独创建并加载到UIView中 在选项卡栏项选择委托上调用ContainerView
  • 检查选项卡栏标记,它将是0,1等,因为它将是 viewControllers数组的索引-我们所有的视图控制器都是 加载到数组中以便于参考
  • 视图控制器被赋予由选项卡栏调用的情节提要ID

  • 发布您的一些代码,您到目前为止所做的工作我已经尝试使用段控制和多容器视图,但它没有正常工作。什么对你不起作用?@Tej Hai-Tej,这是我在该项目中切换容器视图的方法tab@PrashantTukadiyaThe容器视图控制器中的tableview委托和数据源工作不正常。有时数据显示,有时不显示。谢谢,这很有帮助