因此,在我的代码中,我正在检查我的字符是否适合我的标签,并有以下行:
return self.adjustsLetterSpacingToFitWidth;
这被放置在一个实现中UILabel
。有人能告诉我确切的替代方案是什么吗?文档说 - 使用NSKernAttributeName
,但我不太能理解这一点。有人可以帮我解决这个问题吗?
从更大的意义上来说 - 该方法被称为:
xLab.adjustLetterSpacingToFitWidth = YES;
在我的代码中,我有:
@implementation UILabel ()
- (BOOL) getter {
return self.adjustsLetterSpacingToFitWidth;
}
- (void) setter:(BOOL) setVal {
self.adjustsLetterSpacingToFitWidth = setVal;
}
@end
首先,你的getter
and setter
如图所示,完全是多余的;无论你打电话到哪里getter
and/or setter
,你可以简单地获取/设置adjustsLetterSpacingToFitWidth
直接地。
至于如何进行自动字距调整的问题NSKernAttributeName
,苹果的文档说:“要在标签中打开自动字距调整,请设置NSKernAttributeName
字符串的[NSNull null]
”,也就是说,你会这样做:
NSMutableAttributedString *s;
s = [[NSMutableAttributedString alloc] initWithString:my_uilabel.text];
[s addAttribute:NSKernAttributeName
value:[NSNull null]
range:NSMakeRange(0, s.length)];
my_uilabel.attributedText = s;
但是,如果您不想自动调整字母间距,而是想知道文本是否适合标签,您可能需要检查以下各种方法NSStringUIKit 新增内容 https://developer.apple.com/library/ios/documentation/uikit/reference/NSString_UIKit_Additions/Reference/Reference.html。 (这种意图猜测是基于原始问题中的措辞。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)