UILabel继承了UIView类。它代表一类视图,可显示一行或多行只读文本。在iOS应用程序中,该标签与UIControls关联使用以满足应用程序要求。
UILabel类的语法如下。
class UILabel : UIView
标签的外观可以配置。无涯教程可以自定义标签中的子字符串。标签也可以显示属性字符串。无涯教程可以通过编程方式或使用Storyboard将标签添加到界面中。以下步骤用于将标签添加到接口。
sn | 属性 | 描述 |
---|---|---|
1 | Text | 可以赋予该属性以设置标签的内容。为了定义标签的外观,无涯教程可以为标签分配两种模式,即普通模式(Plain)和属性(attributed)模式。普通模式以统一的外观显示标签的内容,而归属模式在字符串中应用样式属性。在属性模式下,无涯教程可以使用更多菜单显示其他外观属性。可以在运行时使用text和attributedText属性访问此值。 |
2 | Color | 用于设置标签的字体颜色。在普通模式下,颜色是为整个内容设置的,而在属性模式下,无涯教程可以为内容的特定颜色。 |
3 | Font | 这用于更改标签内容的字体。它包括字体系列,大小和内容的不透明度。无涯教程可以为标签定义系统或自定义字体。在自定义字体中,无涯教程可以设置标签内容的字体系列和样式。 |
4 | Alignment | 它用于设置框架内标签内容的对齐方式。无涯教程可以将标签内容,左对齐,居中,右对齐,对齐或自然放置在框架中。普通模式下,将为整个标签内容设置对齐方式,而在属性模式下,无涯教程可以为标签的特定段落保持特定的对齐方式。 |
5 | Lines | 它表示标签用于呈现内容的最大行数。无涯教程可以将其设置为0以使标签呈现无限制的行。可以在标签对象上使用numberOfLines属性访问运行时访问此值。 |
6 | Behavior | 此属性用于控制标签的行为,显示可控制标签的外观。可以分别在运行时通过使用isEnabled和isHighlighted属性来访问。 |
7 | Baseline | 当启用自动收缩函数时,它是一个间距属性,用于控制标签的垂直对齐方式。可以通过使用baselineAdjustment属性来访问此值。 |
8 | Linebreaks | 当内容太大而无法在标签范围内调整时,它指定标签的行为。可以将其设置为自动换行或字符换行,以按单词或字符将内容分成多行。可以使用标签对象上的lineBreakMode属性访问此属性。 |
9 | AutoshRink | 此属性用于在采用截断方式之前更改标签内容的字体大小。可以将其设置为最小字体比例或最大字体尺寸。无涯教程可以选择最小字体比例,并设置值以允许标签缩小字体大小以适合文本。 |
10 | Highlighted | 选中显示的属性后,颜色将应用到标签中的文本。 |
11 | Shadow | 此属性的默认值是透明的,这意味着在文本下方没有阴影。但是,无涯教程可以提及在标签文本下方呈现的阴影颜色。可以在运行时使用shadowColor属性访问此值。 |
12 | ShadowOffset | 此属性维护阴影偏移量。可以在运行时使用shadowOffset属性访问此值。 |
在此示例中,无涯教程将使用界面构建器将标签添加到ViewController,并通过在ViewController类中创建标签出口来在运行时自定义标签外观。
要创建插座,请在要为其创建插座的用户界面中选择控件,按住控件键并将其从控件拖动到关联的类,如下图所示。
链接:https://www.learnfk.comhttps://www.learnfk.com/ios/ios-label.html
来源:LearnFk无涯教程网
在ViewController类中,无涯教程将为标签设置一些属性以在运行时自定义其外观。
ViewController.swift
import UIKit class ViewController: UIViewController { @IBOutlet weak var textLbl: UILabel! override func viewDidLoad() { super.viewDidLoad() //加载视图后进行任何其他设置。 textLbl.text = "Hello World" textLbl.font = .italicSystemFont(ofSize: 30) textLbl.backgroundColor = UIColor.blue textLbl.textAlignment = .center textLbl.textColor = UIColor.white textLbl.shadowColor = UIColor.black textLbl.isHighlighted = true } }
输出:
使标签可点击 - 以下示例将使在示例1中创建的标签Tappable。为此,无涯教程将创建类UITapbesturerEdizer的对象。
import UIKit class ViewController: UIViewController { @IBOutlet weak var textLbl: UILabel! var didTap = true override func viewDidLoad() { super.viewDidLoad() //加载视图后进行任何其他设置。 textLbl.text = "Hello World" textLbl.font = .italicSystemFont(ofSize: 30) textLbl.backgroundColor = UIColor.blue textLbl.textAlignment = .center textLbl.textColor = UIColor.white textLbl.shadowColor = UIColor.black textLbl.isHighlighted = true let tap = UITapGestureRecognizer(target: self, action: #selector(didTextLabelTap(sender:))) textLbl.isUserInteractionEnabled = true textLbl.addGestureRecognizer(tap) } @objc func didTextLabelTap(sender: UITapGestureRecognizer){ if(didTap){ textLbl.backgroundColor = UIColor.brown didTap = false } else{ textLbl.backgroundColor = UIColor.blue didTap = true } } }
输出:
UILabel对象包含以下属性,这些属性可用于自定义标签的运行时行为。
sn | 属性 | 类型 | 描述 |
---|---|---|---|
1 | text | String | 它表示当前标签文本。 |
2 | attributedText | NSAttributedString | 表示当前的样式标签文本。 |
3 | font | UIFont | 表示颜色的字体。 |
4 | textColor | UIColor | 它是标签文本颜色。 |
5 | textAlignment | NSTextAlignment | 它是标签框架内文本的对齐方式。 |
6 | lineBreakMode | NSLineBreakMode | 这是用于包装(wrap)和截断(truncate)多行文本的技术 |
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时,它使用户可以与标签文本进行交互。 |
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)