是否仍然可以使用Interface Builder更改UILabel文本上的字符间距(轨迹)?如果没有,有没有一种方法可以在已经使用属性文本创建的现有UILabel上以编程方式执行此操作?

推荐答案

最终使用此选项获取现有属性文本,并进行修改以添加字符间距:

let attributedString = discoveryTitle.attributedText as NSMutableAttributedString
attributedString.addAttribute(NSKernAttributeName, value: 1.0, range: NSMakeRange(0, attributedString.length))
discoveryTitle.attributedText = attributedString

Swift 3:

let attributedString = NSMutableAttributedString(string: discoveryTitle.text)
attributedString.addAttribute(NSKernAttributeName, value: CGFloat(1.0), range: NSRange(location: 0, length: attributedString.length))
discoveryTitle.attributedText = attributedString

在Swift 3中使用NSRange而不是NSMakeRange是可行的.

Swift相关问答推荐

是否有一个Kotlin等价的Swift s @ AddendableReport注释'

动画过程中的SwiftUI重绘视图

NSWindow中以编程方式创建的TextField快捷方式与SwiftUI

正在接收具有不完整数据错误的URL请求

如何强制创建新的UIViewControllerRenatable|更新Make UIViewController上的视图

如何从UIKit中的AttributeContainer获取属性并将其分配给某个变量

字符串和整数格式的for循环,帮忙!

Swift:结果的失败类型不能是协议 - Type 'any ShadowError' cannot conform to Error

@Binding 在@StateObject 和 View 上被发布了两次?

ScreenCaptureKit/CVPixelBuffer 格式产生意外结果

使用 WrappingHStack 文本溢出到新行

SwiftUI View .tint(_ Color) 方法不起作用

iOS SwiftUI - 无法转换 ObservedObject 类型的值

如何让动画变慢 SwiftUI

临时添加到视图层次 struct 后,Weak view引用不会被释放

如何有条件地格式化 SwiftUI 代码

在 Swift 中返回实例类型

如何为多个类 Swift 进行扩展

应用程序包不包含有效标识符

Swift UITableView reloadData 在一个闭包中