【问题标题】:How to make top tab bar inside 1 item tab bar controller to show multiple view controller in swift?如何在 1 项标签栏控制器中制作顶部标签栏以快速显示多个视图控制器?
【发布时间】:2017-12-23 06:03:19
【问题描述】:

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

这是我要制作的故事板StoryboardExample

我希望右侧的三个视图控制器显示在项目选项卡栏中的视图控制器 2 中,并由顶部选项卡栏控制。 因此,它就像 Youtube 应用程序中的活动选项卡一样,顶部选项卡栏带有项目共享和通知。 Shared View in Youtube Application , Notification 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
        }
    }
}

【问题讨论】:

  • 贴出你的一些代码,到目前为止你做了什么
  • 我已经尝试过使用分段控制和多容器视图来制作它,但它不能正常工作。什么不适合你?
  • @Tej Hai tej,这是我在那个item tab切换容器视图的方法
  • @PrashantTukadiya容器视图控制器中的tableview委托和数据源无法正常工作。有时数据显示,有时不显示。

标签: ios swift tabs uitabbarcontroller


【解决方案1】:

您想要的是自定义标签栏控制器。跟随这条线索,你就回家了:https://github.com/codepath/ios_guides/wiki/Creating-a-Custom-Tab-Bar

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

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

  1. 标签栏位于底部,您可以随意移动
  2. 视图控制器单独创建并加载到 UIView 在标签栏项目选择委托上调用 ContainerView
  3. 检查标签栏标签,它将是 0,1 等,因为它将是 viewControllers 数组的索引 - 我们所有的视图控制器都是 加载到数组中以便于参考。
  4. ViewController 被赋予 storyboardID 以供标签栏调用

【讨论】:

  • 谢谢,有帮助
猜你喜欢
  • 2018-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多