iPhone - UILabel包含同时具有多种字体的文本

我正在寻找一种方法来使用UILabel(或类似的东西)来显示这样的东西:

汤姆:有些消息。

这就像在Facebook应用程序中显示“你在想什么?”的方式。消息。有没有人有任何建议如何处理这个?


jeck猫
浏览 507回答 3
3回答

qq_笑_17

根据需要使用两个UILabel IBOutlets,每个都有不同的格式(字体/颜色/等)。根据第一个文本结束的位置,将第二个移到第一个上面。你可以通过sizeWithFont得到它:forWidth:lineBreakMode:或者,您可以继承UILabel,并在drawRect中自己绘制文本。如果你这样做,只需添加一个实例变量来告诉你要用一种格式绘制多少字符串,然后在另一种格式中绘制其余的字符串。从iOS6开始,UILabel可以包含NSMutableAttributedString。当我写这篇文章时,这是不可用的。

UYOU

对不起,迟到了。下面的代码非常适合我。我发布这个,以便它可以对某人有所帮助。    UIFont *font1 = [UIFont fontWithName:kMyriadProSemiBold size:15];NSDictionary *arialDict = [NSDictionary dictionaryWithObject: font1 forKey:NSFontAttributeName];NSMutableAttributedString *aAttrString1 = [[NSMutableAttributedString alloc] initWithString:@"My" attributes: arialDict];UIFont *font2 = [UIFont fontWithName:kMyriadProRegular size:15];NSDictionary *arialDict2 = [NSDictionary dictionaryWithObject: font2 forKey:NSFontAttributeName];NSMutableAttributedString *aAttrString2 = [[NSMutableAttributedString alloc] initWithString:@"Profile" attributes: arialDict2];[aAttrString1 appendAttributedString:aAttrString2];myProfileLabel.attributedText = aAttrString1;请注意我的是半成品和个人资料是正常的。我使用过MyRiad字体。谢谢
打开App,查看更多内容
随时随地看视频慕课网APP