UILabel如何收紧字母间距

Iva*_*van 9 uilabel ios

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

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

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

fou*_*dry 17

你可能正在寻找这个:

@property(nonatomic) BOOL adjustsLetterSpacingToFitWidth
Run Code Online (Sandbox Code Playgroud)

UILabel新的财产iOS6.

  • 谢谢!如果可以的话,我会投票给你。太糟糕了,它在 iOS 5 中不可用, (2认同)

小智 6

您可能想要使用UILabel属性:

allowsDefaultTighteningForTruncation: Bool
Run Code Online (Sandbox Code Playgroud)

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

根据Apple文档:

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

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


Cla*_*ges 5

adjustsLetterSpacingToFitWidth弃用作为iOS的7.

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

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