如何在UITextView中加粗文字?

时间:2011-01-14 05:51:29

标签: iphone objective-c uitextview

  

可能重复:
  UITextView formatting with fontname and bold

我正在尝试粗体 UITextView的所选文字。我不想在我的申请中使用UIWebView

如何在UITextView ????

中以编程方式执行此操作

3 个答案:

答案 0 :(得分:3)

尝试 -

textViewInstance.font = [UIFont boldSystemFontOfSize:14];

编辑1:我没有注意到您对selected text的陈述。这只是粗体整个文本。对不起;)

答案 1 :(得分:3)

我遇到了类似的问题。根据文档和谷歌缺乏答案,我怀疑有一个解决方案,因为UITextView只有一个格式设置的所有文本。这对UILabels和UITextView来说都是全有或全无。我看到它的唯一方法是使用UIWebView,它可以让您更自由地在视图中设置单个单词和文本的样式。祝好运。 :)

答案 2 :(得分:2)

在UITextView中,我不知道,但我在UILabel完成了这项工作。

首先根据文本高度在UILabel和该标签的setFrame中设置文本。之后,使用正则表达式获取要生成粗体的文本的get框架,并使用粗体字体和文本在该框架上添加新标签。

如果您想演示上述说明,请参阅以下链接。它有很好的实现。

FancyLabel_1.0

编辑现在,您可以使用“NSMutableAttributedString”将所选文本设为粗体。见下面的代码和平。

NSString * string = @"<Your Full String>";
NSMutableAttributedString *attStr = [[NSMutableAttributedString alloc]initWithString:string];
[attStr addAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:13]} range:NSMakeRange(0, string.length)];

NSString * subString = @"<String that you want to make bold>";
[attStr addAttributes:@{NSFontAttributeName:[UIFont boldSystemFontOfSize:13], NSForegroundColorAttributeName:[UIColor redColor]} range:[string rangeOfString:subString]];
[<Your UILabel Object> setAttributedTitle:attStr forState:UIControlStateNormal];

谢谢, MinuMaster