我在uilabel中設定富文本 是為了調整行距 呼叫如下
NSMutableParagraphStyle *paragraphStyle = [NSMutableParagraphStyle new];
paragraphStyle.lineSpacing = klineSpacing;
NSAttributedString *str = [[NSAttributedString alloc] initWithString:[NSString stringWithFormat:@"%@%@%@", str0, str1, str2] attributes:@
{
NSFontAttributeName: [UIFont systemFontOfSize:15],
NSParagraphStyleAttributeName: paragraphStyle,
}];
label.attributedText = mutableAttStr;
//之前已經設定以下程式碼
// [messageLabel setContentHuggingPriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisVertical|UILoutConcobxi;高度)
另外,我用- (CGRect)boundingRectWithSize:(CGSize)size options:(NSStringDrawingOptions)options attributes:(nullable NSDictionary
明確地呼叫字體,不用[UIFont systemFontOfSize:]也不行
阿神2017-04-28 09:07:08
可不可以先用NSMutableAttributedString *richtext取到label.text然後setAttributes 在將label.attributedText= richtext
仅有的幸福2017-04-28 09:07:08
另外,stackoverflow也有類似貼文
http://stackoverflow.com/ques...
暫時想到的辦法是,判斷uilabel顯示時候是否為一行,如果是,把line-spacing置為0
解決方案原始碼網址https://github.com/673697831/...
歡迎各位提出更好的方案或對此方案進行修改