ios - UILabel的默认字距调整是什么(属性文本看起来有所不同)

标签 ios uikit uilabel nsattributedstring

我不确定是否遗漏了一些明显的内容,但是我四处张望,找不到答案。

基本上,尽管this question说了什么,UILabel纯文本和属性文本看起来都不同。例如,下面的两个标签都是系统字体15pt,黑色的一个使用属性文本,灰色的一个使用纯文本。显然,黑色的比灰色的要宽。

enter image description here

我知道我可以对属性文本设置字距调整以调整其外观。我的问题是,我应该设置什么值使其看起来与Apple的默认值相同?有没有办法让我将字距调整值保留为默认值?

谢谢!

最佳答案

根据documentation为UILabel赋予的文本属性

要在标签上启用自动字距调整,请将字符串的字距设置为null。

默认情况下,纯文本的自动字距调整似乎处于打开状态,属性文本的默认情况下处于关闭状态。这是为属性text属性重新启用自动字距调整的方法:

        let label = UILabel()
        let attributes = [NSAttributedString.Key.kern: kCFNull!]
        label.attributedText = NSMutableAttributedString(string: "Text", attributes: attributes)

关于ios - UILabel的默认字距调整是什么(属性文本看起来有所不同),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56927489/

相关文章:

swift - 带有容器 View 的 ScrollView 不能正确调整内容大小

ios - 获取不可见的 CollectionView 单元格

ios - 如何正确地将字符串转换为日期?

ios - 使用 NSPredicate Core Data 中的数据库字段执行计算

iOS-如何使用动画隐藏/显示 UITabBarController 标签栏?

ios - UILabel 自动布局切割底部像素

ios - 为什么我无法通过使用 "usedRectForTextContainer"获取 textContainer 的 rect

ios - 捕获并记录 UIView 上的触摸事件

ios - "Unknown class in interface builder file"在 Storyboard中使用从泛型类继承的类时

ios - swift 的 iOS。多行 UILabel 背景颜色跟随文本