UILabel控件的常见操作与属性配置

在iOS开发中,UILabel是一个基本控件,用于显示单行或多行文本。以下是UILabel的核心使用方法:

改变字体颜色与大小:通过textColor属性设置字体颜色,如:

let label = UILabel()
label.textColor = UIColor.blue // 设置为蓝色

调整字体大小通过font属性实现,可以使用系统或自定义字体:

label.font = UIFont.systemFont(ofSize: 18) // 系统字体,大小为18

文字高亮:使用NSMutableAttributedString对部分文本应用不同样式:

let text = "Hello, Swift"
let attributedText = NSMutableAttributedString(string: text)
attributedText.addAttribute(.foregroundColor, value: UIColor.red, range: NSRange(location: 7, length: 4))
label.attributedText = attributedText

自动适应大小:开启numberOfLines属性不限制行数,设置lineBreakMode决定换行方式:

label.numberOfLines = 0
label.lineBreakMode = .byWordWrapping // 按单词换行

使用sizeThatFits方法计算最佳尺寸并调整UILabel的frame:

let size = label.sizeThatFits(CGSize(width: view.bounds.width, height: .greatestFiniteMagnitude))
label.frame.size = size

截去中间文字:对长文本进行截取,保留开头和结尾,中间部分用省略号表示:

func truncateLabel(_ label: UILabel, maxLength: Int) {
guard let text = label.text, text.count > maxLength else { return }
let prefixLength = maxLength / 2
let suffixLength = maxLength - prefixLength
let prefix = String(text.prefix(prefixLength))
let suffix = String(text.suffix(suffixLength))
label.text = "(prefix)...(suffix)"
}

设置行数:通过numberOfLines属性限制显示的行数:

label.numberOfLines = 2 // 显示两行,超出部分会被截断

总结,UILabel在iOS开发中提供了多种文本展示功能,通过合适的配置,开发者可以创建美观实用的界面。

zip
UILabel.zip 预估大小:44个文件
folder
UILabel 文件夹
folder
.git 文件夹
file
index 872B
folder
hooks 文件夹
file
prepare-commit-msg.sample 1KB
file
applypatch-msg.sample 452B
file
pre-commit.sample 2KB
file
pre-applypatch.sample 398B
file
commit-msg.sample 896B
file
pre-rebase.sample 5KB
file
update.sample 4KB
file
post-update.sample 189B
file
config 111B
file
description 73B
folder
refs 文件夹
folder
tags 文件夹
folder
heads 文件夹
file
master 41B
folder
branches 文件夹
folder
logs 文件夹
folder
refs 文件夹
folder
heads 文件夹
file
master 173B
file
HEAD 173B
folder
objects 文件夹
folder
a7 文件夹
file
5f4e5df20aa5d4f0d495392c26c2c2a66457f8 139B
folder
e0 文件夹
file
0bafddf18825a39abd25227b8cc0df04e43cfb 2KB
folder
d0 文件夹
file
075774a6164d271dbb443a60d774d507ce5c1e 480B
folder
5c 文件夹
file
c34e83f0e4836be26663381f9408e8a24b2f59 1KB
folder
f4 文件夹
file
0b612124811d4cef9907d09286a0b119014a58 230B
folder
e6 文件夹
file
8024b83bec5d5fd1829230d6783416b40639cd 233B
folder
info 文件夹
folder
47 文件夹
file
7b28ff8f86a3158a71c4934fbd3a2456717d7a 61B
folder
8c 文件夹
file
ec25162f870c4861bd21072e4d9ec3996978bd 273B
folder
pack 文件夹
folder
cb 文件夹
file
d16e11555daa5ee5ea4bbd4619b4a1a826bd00 190B
folder
45 文件夹
file
514693f4bb9a1614750fb22de12d9b103b1275 58B
file
1cd86c9da353f1fc2bd9bb6f8b00a292b8c238 224B
folder
02 文件夹
file
37597b848a1890bb30ba0ff4102f8107cafdcb 61B
folder
e8 文件夹
file
4ad9f0569a81bbc62b23120cb6c5421660253a 84B
folder
30 文件夹
file
8cd66fe715d31a93017a98b5615aafc7d09d5a 460B
folder
info 文件夹
file
exclude 35B
file
COMMIT_EDITMSG 15B
file
HEAD 23B
folder
UILabel.xcodeproj 文件夹
folder
project.xcworkspace 文件夹
file
contents.xcworkspacedata 152B
folder
xcuserdata 文件夹
folder
doublejie.xcuserdatad 文件夹
file
UserInterfaceState.xcuserstate 12KB
file
project.pbxproj 11KB
folder
xcuserdata 文件夹
folder
doublejie.xcuserdatad 文件夹
folder
xcschemes 文件夹
file
xcschememanagement.plist 479B
file
UILabel.xcscheme 3KB
folder
UILabel 文件夹
file
main.m 347B
file
UILabel-Info.plist 1KB
file
AppDelegate.h 431B
file
AppDelegate.m 2KB
file
LabelViewController.h 236B
file
LabelViewController.m 4KB
folder
en.lproj 文件夹
file
InfoPlist.strings 45B
file
UILabel-Prefix.pch 317B
...
zip 文件大小:44.49KB