我想知道如何以编程方式“收紧字母间距”?
此选项适用于在xib文件中制作的UILabel,并且有时非常方便。
我之前已经问过这个问题,但我没有看到在界面构建器中提到这个问题的答案,所以我很好奇...
答案 0 :(得分:17)
你可能正在寻找这个:
@property(nonatomic) BOOL adjustsLetterSpacingToFitWidth
UILabel
中iOS6
新的属性。
答案 1 :(得分:6)
您可能想要使用UILabel属性:
allowsDefaultTighteningForTruncation: Bool
并将其设为true
。 (默认为false
)
根据Apple文档:
当此属性设置为true时,标签会在允许任何截断发生之前收紧其文本的字符间距。标签根据字体,当前线宽,换行模式和其他相关信息自动确定最大拧紧量。
https://developer.apple.com/reference/uikit/uilabel/1620533-allowsdefaulttighteningfortrunca
答案 2 :(得分:5)
adjustsLetterSpacingToFitWidth
为deprecated。
你现在(从iOS 8开始)可能想做类似的事情:
NSAttributedString *as =
[[NSAttributedString alloc] initWithString:@"Kerninating all the strings"
attributes:@{NSKernAttributeName : @(-2.0)}];
label.attributedText = as;