标签

17 Mar 2025 | 6 分钟阅读

UILabel 继承了 UIView 类。 它代表一个用于显示一行或多行只读文本的视图类。 在 iOS 应用程序中,标签与 UIControls 关联使用,以满足应用程序需求。

UILabel 类的语法如下所示。

可以配置标签的外观。 我们可以自定义标签内的子字符串。 标签也可以显示属性字符串。 我们可以通过编程方式或使用 Storyboard 将标签添加到界面中。 以下步骤用于将标签添加到界面中。

  1. 在对象库中搜索标签,并将结果拖到 Storyboard,或者在 ViewController 类中创建 UILabel 类的对象。
  2. 使用属性检查器配置标签的外观。
  3. 设置自动布局规则,以定义标签在界面中的大小和位置。

UILabel 的 Interface Builder 属性

序号属性描述
1文本可以给定此属性来设置标签的内容。 为了定义标签的外观,我们可以为标签分配两种模式,即普通模式和属性模式。 普通模式以统一的外观显示标签的内容,而属性模式在字符串中应用样式属性。 在属性模式下,我们可以使用“更多”菜单来显示其他外观属性。 可以在运行时通过 text 和 attributedText 属性访问此值。
2颜色用于设置标签的字体颜色。 在普通模式下,颜色是为整个内容设置的,而在属性模式下,我们可以为内容的特定部分定义颜色。
3Font用于更改标签内容的字体。 它包括字体系列、大小和内容的透明度。 我们可以为标签定义系统字体或自定义字体。 在自定义字体中,我们可以设置标签内容的字体系列和样式。
4对齐方式用于设置标签内容在框架内的对齐方式。 我们可以将标签内容放置为左对齐、居中、右对齐、两端对齐或自然对齐在框架内。 在普通模式下,对齐方式是为整个标签内容设置的,而在属性模式下,我们可以为标签的特定段落维护特定的对齐方式。
5线表示标签用于呈现内容的最大行数。 我们可以将其设置为 0,以使标签呈现无限行。 可以在运行时通过标签对象上的 numberOfLines 属性访问此值。
6行为此属性用于控制标签的行为。 启用和高亮显示控制标签的外观。 可以分别使用 isEnabled 和 isHighlighted 属性在运行时访问这些值。
7基线它是一个间距属性,用于控制启用自动收缩时标签的垂直对齐方式。 可以使用 baselineAdjustment 属性访问此值。
8换行它指定当内容太大而无法在标签边界内调整时标签的行为。 可以将其设置为单词换行或字符换行,以按单词或字符将内容分成多行。 可以使用标签对象上的 lineBreakMode 属性访问此属性。
9自动收缩此属性用于在求助于截断之前更改标签内容的字体大小。 可以将其设置为最小字体缩放或最大字体大小。 我们可以选择最小字体缩放并设置该值,以允许标签减小字体大小以适应文本。
10高亮当选中“高亮显示”属性时,颜色将应用于标签中的文本。
11阴影此属性的默认值为透明,这意味着文本下方不会出现阴影。 但是,我们可以提及在标签文本下方呈现的阴影颜色。 可以在运行时使用 shadowColor 属性访问此值。
12ShadowOffset此属性维护阴影偏移量。 可以在运行时使用 shadowOffset 属性访问此值。

示例

在此示例中,我们将使用 Interface Builder 将标签添加到 ViewController,并通过在 ViewController 类中创建标签出口来在运行时自定义标签外观。

要创建出口,请选择要为其创建出口的用户界面中的控件,按住 Control 键并从控件拖动到关联的类,如下图所示。

iOS Label

在 ViewController 类中,我们将为标签设置一些属性,以在运行时自定义其外观。

ViewController.swift

输出

iOS Label

示例 2

使标签可点击

以下示例将使示例 1 中创建的标签可点击。 为此,我们将创建一个 UITapGestureRecognizer 类的对象。

输出

iOS Label

UILabel 属性

UILabel 对象包含以下属性,可用于自定义标签的运行时行为。

序号属性类型描述
1textString它表示当前的标签文本。
2attributedTextNSAttributedString它表示当前样式的标签文本。
3fontUIFont它表示字体的颜色。
4textColorUIColor它是标签文本颜色。
5textAlignmentNSTextAlignment它是文本在标签框架内的对齐方式。
6lineBreakModeNSLineBreakMode它是用于包装和截断多行文本的技术
7isEnabledBool绘制标签文本时要使用的启用状态。
8adjustFontSizeToFitWidthBool它是一个布尔值,设置后,会减小标签字体大小以适合标题字符串。
9allowsDefaultTighteningForTruncationBool它是一个布尔值,指示标签是否在截断之前收紧文本。
10baseLineAdjustmentUIBaseLineAdjustment它控制当文本缩小以适应标签框架时,基线调整的方式。
11minimumScaleFactorCGFloat它是标签文本的最小缩放因子。
12numberOfLinesint它表示标签文本可以拥有的最大行数。 设置为 0 可使其不受限制。
13highlightedTextColorUIColor它表示应用于标签的高亮文本颜色。
14isHighlightedBool它表示一个布尔值,指示标签文本是否已高亮显示。
15shadowColorUIColor它表示标签文本的阴影颜色。
16shadowOffsetCGSize它表示标签文本的阴影偏移量。
17preferredMaxLayoutWidthCGFloat它是多行标签的首选最大宽度。
18isUserInteractionEnabledBool它是一个布尔类型属性。 设置为 true 时,它允许用户与标签文本进行交互。

下一个主题iOS 按钮