10

我想知道如何以编程方式“收紧字母间距”?

此选项可用于在 xib 文件中制作的 UILabel,有时非常方便。

我知道以前有人问过这个问题,但我没有看到在界面生成器中提到这个蜜蜂的答案,所以我很好奇......

4

3 回答 3

17

您可能正在寻找这个:

@property(nonatomic) BOOL adjustsLetterSpacingToFitWidth

UILabel新的财产iOS6

于 2013-02-12T12:18:10.473 回答
7

您可能想要使用 UILabel 属性:

allowsDefaultTighteningForTruncation: Bool

并将其设置为true. (默认为false

根据苹果文档:

当此属性设置为 true 时,标签会在允许发生任何截断之前收紧其文本的字符间距。标签根据字体、当前线宽、换行方式和其他相关信息自动确定最大收紧量。

https://developer.apple.com/reference/uikit/uilabel/1620533-allowsdefaulttighteningfortrunca

于 2017-03-31T08:21:33.037 回答
5

adjustsLetterSpacingToFitWidth自 iOS 7 起已弃用

您现在(从 iOS 8 开始)可能想要执行以下操作:

NSAttributedString *as = 
[[NSAttributedString alloc] initWithString:@"Kerninating all the strings"
                                attributes:@{NSKernAttributeName : @(-2.0)}];
label.attributedText = as;
于 2015-06-16T20:29:14.700 回答