具有两种不同字体大小的NSAttributedString的例子?

NSAttributedString对我来说是非常NSAttributedString

我想设置一个UILabel文本不同的大小,我收集NSAttributedString是要走的路,但我不能得到任何地方与此文件。

如果有人能帮我一个具体的例子,我会喜欢它。

比如说,我想要的文字是:

 (in small letters:) "Presenting The Great..." (in huge letters:) "HULK HOGAN!" 

有人可以告诉我该怎么做吗? 甚至,我可以为自己学习的一个简单而简单的参考? 我发誓我试图通过文档来了解这个,甚至通过堆栈溢出的其他例子,我只是没有得到它。

你会做这样的事情…

 NSMutableAttributedString *hogan = [[NSMutableAttributedString alloc] initWithString:@"Presenting the great... Hulk Hogan!"]; [hogan addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:20.0] range:NSMakeRange(24, 11)]; 

这将在20点文本中设置最后两个单词; string的其余部分将使用默认值(我相信是12分)。 关于设置文本大小可能会引起混淆的是,您必须同时设置字体大小 – 每个UIFont对象封装了这两个属性。

Swift 3解决scheme

此外,您可以使用appendfunction,而不是在ObjC或Swift中指定索引:

 let attrString = NSMutableAttributedString(string: "Presenting The Great...", attributes: [ NSFontAttributeName: UIFont.systemFont(ofSize: 20) ]) attrString.append(NSMutableAttributedString(string: "HULK HOGAN!", attributes: [NSFontAttributeName: UIFont.systemFont(ofSize: 40) ])) 

如果你想这样做的简单方法,有一个名为OHAttributedLabel的git repo,我使用它提供了NSAttributedString类别。 它可以让你做这样的事情:

 NSMutableAttributedString *mystring = [[NSMutableAttributedString alloc] initWithString:@"My String"]; [mystring setTextColor:[UIColor colorWithRGB:78 green:111 blue:32 alpha:1]]; mystring.font = [UIFont systemFontOfSize:14]; 

如果您不想使用第三方库,请查看此链接 ,了解如何开始使用属性string的体面教程。