标签17 Mar 2025 | 6 分钟阅读 UILabel 继承了 UIView 类。 它代表一个用于显示一行或多行只读文本的视图类。 在 iOS 应用程序中,标签与 UIControls 关联使用,以满足应用程序需求。 UILabel 类的语法如下所示。 可以配置标签的外观。 我们可以自定义标签内的子字符串。 标签也可以显示属性字符串。 我们可以通过编程方式或使用 Storyboard 将标签添加到界面中。 以下步骤用于将标签添加到界面中。 - 在对象库中搜索标签,并将结果拖到 Storyboard,或者在 ViewController 类中创建 UILabel 类的对象。
- 使用属性检查器配置标签的外观。
- 设置自动布局规则,以定义标签在界面中的大小和位置。
UILabel 的 Interface Builder 属性序号 | 属性 | 描述 |
---|
1 | 文本 | 可以给定此属性来设置标签的内容。 为了定义标签的外观,我们可以为标签分配两种模式,即普通模式和属性模式。 普通模式以统一的外观显示标签的内容,而属性模式在字符串中应用样式属性。 在属性模式下,我们可以使用“更多”菜单来显示其他外观属性。 可以在运行时通过 text 和 attributedText 属性访问此值。 | 2 | 颜色 | 用于设置标签的字体颜色。 在普通模式下,颜色是为整个内容设置的,而在属性模式下,我们可以为内容的特定部分定义颜色。 | 3 | Font | 用于更改标签内容的字体。 它包括字体系列、大小和内容的透明度。 我们可以为标签定义系统字体或自定义字体。 在自定义字体中,我们可以设置标签内容的字体系列和样式。 | 4 | 对齐方式 | 用于设置标签内容在框架内的对齐方式。 我们可以将标签内容放置为左对齐、居中、右对齐、两端对齐或自然对齐在框架内。 在普通模式下,对齐方式是为整个标签内容设置的,而在属性模式下,我们可以为标签的特定段落维护特定的对齐方式。 | 5 | 线 | 表示标签用于呈现内容的最大行数。 我们可以将其设置为 0,以使标签呈现无限行。 可以在运行时通过标签对象上的 numberOfLines 属性访问此值。 | 6 | 行为 | 此属性用于控制标签的行为。 启用和高亮显示控制标签的外观。 可以分别使用 isEnabled 和 isHighlighted 属性在运行时访问这些值。 | 7 | 基线 | 它是一个间距属性,用于控制启用自动收缩时标签的垂直对齐方式。 可以使用 baselineAdjustment 属性访问此值。 | 8 | 换行 | 它指定当内容太大而无法在标签边界内调整时标签的行为。 可以将其设置为单词换行或字符换行,以按单词或字符将内容分成多行。 可以使用标签对象上的 lineBreakMode 属性访问此属性。 | 9 | 自动收缩 | 此属性用于在求助于截断之前更改标签内容的字体大小。 可以将其设置为最小字体缩放或最大字体大小。 我们可以选择最小字体缩放并设置该值,以允许标签减小字体大小以适应文本。 | 10 | 高亮 | 当选中“高亮显示”属性时,颜色将应用于标签中的文本。 | 11 | 阴影 | 此属性的默认值为透明,这意味着文本下方不会出现阴影。 但是,我们可以提及在标签文本下方呈现的阴影颜色。 可以在运行时使用 shadowColor 属性访问此值。 | 12 | ShadowOffset | 此属性维护阴影偏移量。 可以在运行时使用 shadowOffset 属性访问此值。 |
示例在此示例中,我们将使用 Interface Builder 将标签添加到 ViewController,并通过在 ViewController 类中创建标签出口来在运行时自定义标签外观。 要创建出口,请选择要为其创建出口的用户界面中的控件,按住 Control 键并从控件拖动到关联的类,如下图所示。  在 ViewController 类中,我们将为标签设置一些属性,以在运行时自定义其外观。 ViewController.swift 输出  示例 2使标签可点击 以下示例将使示例 1 中创建的标签可点击。 为此,我们将创建一个 UITapGestureRecognizer 类的对象。 输出  UILabel 属性UILabel 对象包含以下属性,可用于自定义标签的运行时行为。 序号 | 属性 | 类型 | 描述 |
---|
1 | text | String | 它表示当前的标签文本。 | 2 | attributedText | NSAttributedString | 它表示当前样式的标签文本。 | 3 | font | UIFont | 它表示字体的颜色。 | 4 | textColor | UIColor | 它是标签文本颜色。 | 5 | textAlignment | NSTextAlignment | 它是文本在标签框架内的对齐方式。 | 6 | lineBreakMode | NSLineBreakMode | 它是用于包装和截断多行文本的技术 | 7 | isEnabled | Bool | 绘制标签文本时要使用的启用状态。 | 8 | adjustFontSizeToFitWidth | Bool | 它是一个布尔值,设置后,会减小标签字体大小以适合标题字符串。 | 9 | allowsDefaultTighteningForTruncation | Bool | 它是一个布尔值,指示标签是否在截断之前收紧文本。 | 10 | baseLineAdjustment | UIBaseLineAdjustment | 它控制当文本缩小以适应标签框架时,基线调整的方式。 | 11 | minimumScaleFactor | CGFloat | 它是标签文本的最小缩放因子。 | 12 | numberOfLines | int | 它表示标签文本可以拥有的最大行数。 设置为 0 可使其不受限制。 | 13 | highlightedTextColor | UIColor | 它表示应用于标签的高亮文本颜色。 | 14 | isHighlighted | Bool | 它表示一个布尔值,指示标签文本是否已高亮显示。 | 15 | shadowColor | UIColor | 它表示标签文本的阴影颜色。 | 16 | shadowOffset | CGSize | 它表示标签文本的阴影偏移量。 | 17 | preferredMaxLayoutWidth | CGFloat | 它是多行标签的首选最大宽度。 | 18 | isUserInteractionEnabled | Bool | 它是一个布尔类型属性。 设置为 true 时,它允许用户与标签文本进行交互。 |
|