在 ViewController 中创建选项卡视图的最佳方法是啥

Posted

技术标签:

【中文标题】在 ViewController 中创建选项卡视图的最佳方法是啥【英文标题】:What is the best way to create a tab view within a ViewController在 ViewController 中创建选项卡视图的最佳方法是什么 【发布时间】:2017-11-13 17:02:36 【问题描述】:

我正在尝试创建一个设计,其中 ViewController 的一部分具有三个按钮,这些按钮根据选择的按钮显示不同的内容。基本上是 UITabBarController 但在视图控制器中

基本上鹿、鱼和鸟的图标将是按钮,在下面的 imageView 中显示不同的内容。您为此推荐 Xcode 中的内置函数吗?或者我应该创建三个按钮,显示/隐藏相关的 UIViews?什么是最有效的?

【问题讨论】:

【参考方案1】:

您的图像未显示,但分段控件可能是您所追求的吗?

将其值更改为视图控制器中的一个操作,并通过显示/隐藏不同的视图来响应选择的项目,例如:

@IBAction func controlChanged(_ sender: Any) 
    guard let segmentedControl = sender as? UISegmentedControl else  return 

    let activeViewIndex = segmentedControl.selectedSegmentIndex
    // Show the view based on activeViewIndex here

【讨论】:

SegmentController 似乎是我正在寻找的。但是在 Xcode 文档中它说您可以显示图像或文本。我想同时显示图像、图表、标签,甚至一些按钮。 UISegmentController 会不支持这个吗? UISegmentController 按钮中的图表和按钮听起来很奇怪 ;) 如果您的图片链接能够显示您的意思,那将会很有帮助。 基本上,这些按钮将用作一种过滤器,仅显示与所选类别相关的图形/信息。我现在已经更新了图像。希望它现在可以工作。 看起来不错!从功能上讲,UISegmentedControl 是您想要的,但如果类别不改变,我可能只使用 UIButtons,更容易自定义外观。

以上是关于在 ViewController 中创建选项卡视图的最佳方法是啥的主要内容,如果未能解决你的问题,请参考以下文章

在 TabViewController 中创建 UIScrollView

将数据从一个选项卡控制器快速传递到另一个选项卡控制器

Sencha Touch 2:在选项卡面板中创建嵌套列表

在 ViewController 的 loadView 中创建的自动调整视图的 AutoLayout 约束

自定义操作栏选项卡视图

重新打开选项卡时返回视图层次结构中的初始 ViewController