我有一个UILabel文本,其中包含中文和英文字符,
现在我想为中文设置字体,为英文设置另一种字体,
怎么做?
答案 0 :(得分:3)
答案 1 :(得分:2)
通常一个标签只能有一种字体。如果你想为不同的语言显示不同的字体,你可以在不同的标签中保留不同的语言字符串,并按照你想要的方式排列。
请参阅此选项以确定标签的大小。
Resize UITableViewCell to UILabel's height dynamically
这也很有帮助。
How do I wrap text in a UITableViewCell without a custom cell
答案 2 :(得分:1)
我不相信这是可能的。 font
中设置的UILabel
属性将应用于该UILabel的text
属性中指定的整个字符串。
答案 3 :(得分:0)
我没有尝试使用中文字体,但您可以使用以下代码设置不同/多种字体& Label上的其他属性使用NSMutableAttributedString。 Foll是我的代码:
UIFont *ArialFont = [UIFont fontWithName:@"arial" size:18.0];
NSDictionary *arialdict = [NSDictionary dictionaryWithObject: ArialFont forKey:NSFontAttributeName];
NSMutableAttributedString *AattrString = [[NSMutableAttributedString alloc] initWithString:title attributes: arialdict];
UIFont *VerdanaFont = [UIFont fontWithName:@"verdana" size:12.0];
NSDictionary *veradnadict = [NSDictionary dictionaryWithObject:VerdanaFont forKey:NSFontAttributeName];
NSMutableAttributedString *VattrString = [[NSMutableAttributedString alloc]initWithString: newsDate attributes:veradnadict];
[VattrString addAttribute:NSForegroundColorAttributeName value:[UIColor blackColor] range:(NSMakeRange(0, 15))];
[AattrString appendAttributedString:VattrString];
lblText.attributedText = AattrString;
请注意,lblText是UILabel,outlet作为文件所有者。 人们可以继续追加他想要的NSMutableAttributedString ..
另请注意,我添加了verdana&我项目中的arial字体&为此添加了一个plist。