UILabel如何收紧字母间距

时间:2013-02-12 11:58:10

标签: ios uilabel

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

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

我之前已经问过这个问题,但我没有看到在界面构建器中提到这个问题的答案,所以我很好奇...

3 个答案:

答案 0 :(得分:17)

你可能正在寻找这个:

@property(nonatomic) BOOL adjustsLetterSpacingToFitWidth

UILabeliOS6新的属性。

答案 1 :(得分:6)

您可能想要使用UILabel属性:

allowsDefaultTighteningForTruncation: Bool

并将其设为true。 (默认为false

根据Apple文档:

  

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

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

答案 2 :(得分:5)

从iOS 7开始,

adjustsLetterSpacingToFitWidthdeprecated

你现在(从iOS 8开始)可能想做类似的事情:

NSAttributedString *as = 
[[NSAttributedString alloc] initWithString:@"Kerninating all the strings"
                                attributes:@{NSKernAttributeName : @(-2.0)}];
label.attributedText = as;