标签栏

2025年3月17日 | 阅读 3 分钟

TabBar 是一种控件,用于在 iOS 应用程序中显示和配置一个或多个条形按钮项,以便在不同的子任务、视图或模式之间进行选择。 TabBar 与 TabBarController 结合使用,以在应用程序中呈现选项卡列表。 但是,我们可以在应用程序中使用标签栏作为独立的控件。 标签栏是 UITabBar 类的实例,该类继承自 UIView。

标签栏始终显示在屏幕的底部边缘。 一个 UITabBar 对象包含一个或多个 UITabBarItem 对象。 但是,我们可以通过更改其背景颜色、图像或色调颜色来自定义标签栏的外观。 当我们使用 UITabBarController 对象时,我们提供了一个内置的 UITabBar 对象,可以使用界面构建器或以编程方式进行自定义。

UITabBar 对象与 delegate 对象关联,该对象会收到有关标签栏中项目选择、添加、删除或重新排序的响应通知。 UITabBarDelegate 协议包含一组与标签栏项的用户交互相关的方法。

配置标签栏项目

我们可以使用界面构建器配置标签栏的项目。 我们还可以使用 UITabBar 类的属性和方法以编程方式配置它们。 当我们将 UITabBarController 对象添加到情节提要时,关联的 UITabBar 会预先配置一些初始标签栏项目。 但是,我们可以根据界面要求添加、删除、重新排序项目。

当我们将新的视图控制器添加到标签栏控制器并定义它们之间的关系切换时,它会自动向与标签栏控制器关联的标签栏添加一个新项目。

界面构建器属性

序号属性描述
1背景它表示要为标签栏显示的背景图像。 当我们配置背景对象时,标签栏会忽略色调颜色信息。
2阴影它表示标签栏的自定义阴影图像。 如果未自定义标签栏的背景图像,则无法设置此属性。
3选拔它表示用于选定选项卡的图像。 属性可以使用 selectionIndicatorImage 属性以编程方式设置。
4图像色调它表示要应用于所选项目的色调颜色。 可以使用 tintColor 属性以编程方式访问此颜色。
5风格它表示应用于栏的基本样式。 要以编程方式设置样式,我们必须使用 UITabBar 类的 barStyle 属性。
6栏色调它表示要应用于栏的色调颜色。 我们可以使用 barTintColor 属性以编程方式设置此属性。
7项目定位这表示要应用于项目的定位方案。 这决定了项目在栏长度上的间距方式。

示例

在此示例中,我们将配置 UITabBar 的外观。 在这里,我们将不使用标签栏控制器。 相反,我们将标签栏添加到现有的 UIViewController。

界面生成器

要配置 TabBar,我们必须将 UITabBar 对象添加到视图控制器。 为此,在对象库中搜索 TabBar,并将结果拖到现有的视图控制器情节提要中。

iOS Tab Bar

它会将一个标签栏添加到视图控制器。 定义标签栏的约束,使其粘在屏幕底部。 之后,情节提要将如下所示。

iOS Tab Bar

我们可以从对象库中向标签栏添加更多标签栏项目。 我们将分配 ViewController.swift 类,并在该类中创建 UITabBar 出口连接。

ViewController.swift

输出

iOS Tab Bar

工具栏和标签栏的区别

UIToolBar 和 UITabBar 类具有相似的外观,但使用案例不同。 我们使用标签栏来让用户访问应用程序中的不同模式。 相比之下,我们使用工具栏向用户呈现与当前呈现的内容相关的一组操作。


下一个主题标签栏项目