[英]UILabel - Alternative for Deprecated Method “adjustsLetterSpacingToFitWidth”
所以在我的代碼中,我正在檢查我的字符是否適合我的標簽,並且具有以下行:
return self.adjustsLetterSpacingToFitWidth;
這被置於UILabel
的實現中。 有人能告訴我這個的確切替代方案是什么? 文檔說 - 使用NSKernAttributeName
,但我不太明白。 有人可以幫我嗎?
在更大的意義上 - 該方法被稱為:
xLab.adjustLetterSpacingToFitWidth = YES;
在我的代碼中,我有:
@implementation UILabel ()
- (BOOL) getter {
return self.adjustsLetterSpacingToFitWidth;
}
- (void) setter:(BOOL) setVal {
self.adjustsLetterSpacingToFitWidth = setVal;
}
@end
首先,你的getter
和定位setter
完全是多余的,如圖所示; 無論你在哪里調用getter
和/或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;
但是,如果您不想自動調整字母間距,而是查明文本是否適合標簽,您可能需要檢查NSString
UIKit添加中的各種方法。 (這種意圖的猜測是基於原始問題中的措辭。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.