如何在 1 项标签栏控制器中制作顶部标签栏以快速显示多个视图控制器?
Posted
技术标签:
【中文标题】如何在 1 项标签栏控制器中制作顶部标签栏以快速显示多个视图控制器?【英文标题】:How to make top tab bar inside 1 item tab bar controller to show multiple view controller in swift? 【发布时间】: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委托和数据源无法正常工作。有时数据显示,有时不显示。 【参考方案1】:您想要的是自定义标签栏控制器。跟随这条线索,你就回家了:https://github.com/codepath/ios_guides/wiki/Creating-a-Custom-Tab-Bar
在这里你应该知道,他们使用 UIView 和按钮手动创建标签栏我在这里实现了一个带有原生标签栏的基本版本:https://github.com/zameerascentic/customTabBarNative
您应该注意(与该教程不同):
-
标签栏位于底部,您可以随意移动
视图控制器单独创建并加载到 UIView
在标签栏项目选择委托上调用 ContainerView
检查标签栏标签,它将是 0,1 等,因为它将是
viewControllers 数组的索引 - 我们所有的视图控制器都是
加载到数组中以便于参考。
ViewController 被赋予 storyboardID 以供标签栏调用
【讨论】:
谢谢,有帮助以上是关于如何在 1 项标签栏控制器中制作顶部标签栏以快速显示多个视图控制器?的主要内容,如果未能解决你的问题,请参考以下文章