【发布时间】:2019-10-21 07:48:24
【问题描述】:
如何在 UIlabel drawatpoint 中设置多种字体颜色。
我尝试使用下面的代码来更改字体属性,但我不知道如何将 NSMutableAttributedString 设置为此,因为它只接受 NSDictionary
[self.textColor setFill];
[self.text drawAtPoint:rect2.origin withAttributes:attrName];
我们用它来设置属性
NSMutableAttributedString *attrsString =
[[NSMutableAttributedString alloc]
initWithAttributedString:"String1/String2"];
// search for word occurrence
NSRange prange = [lbl.text rangeOfString:@"String1"];
NSRange lrange = [lbl.text rangeOfString:@"String2"];
if (prange.location != NSNotFound) {
[attrsString addAttributes:attributeGreen range:prange];
[attrsString addAttributes:attributeRed range:lrange];
}
lbl.attributedText = attrsString;
最初我们在 UILabel 子类中使用它 - 这个子类用于调整文本大小。
[self.textColor setFill];
[self.text drawAtPoint:rect2.origin withFont:tmpfont];
我希望 String1 为绿色字体,String 2 为红色字体
【问题讨论】:
-
注意
drawAtPoint可以用在NSAttributedString: [attrsString drawAtPoint:rect2.origin]`developer.apple.com/documentation/foundation/nsattributedstring/…和drawAtPoint:的NSString的效果是一样的全文。 -
@Larme 做得很好。谢谢我花了一天半的时间试图找到解决方案。初学者问题-___-
标签: objective-c uilabel