如何在UITextView中加粗文本?

3

可能是重复问题:
使用fontname和bold格式化UITextView

我正在尝试在UITextView中加粗所选文本。 我不想在我的应用程序中使用UIWebView

我该如何在UITextView中以编程方式实现这一点???


2
您的主题应该是 如何在UITextView中加粗选定的文本? - Mahesh
UITextView是单一字体的。您无法对其中某些部分进行修改。顺便问一下,您会如何在UIWebView中实现它? - Mahesh
1
你可能还想查看如何使用NSAttributedString? - ma11hew28
3个回答

3
尝试 -
textViewInstance.font = [UIFont boldSystemFontOfSize:14];

编辑1: 我没有注意到你提到的“选定文本”。这只是将整个文本加粗。抱歉 ;)


3

在UITextView中,我没有任何想法,但我已经在UILabel中完成了此操作。

首先,在UILabel中设置文本并根据文本高度设置标签的框架。之后,使用常规表达式获取要加粗的文本的框架,并在该框架上添加一个具有粗体和文本的新标签。

如果您想演示上述解释,请参见下面的链接。它有很好的实现。

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。

3

我曾经遇到过类似的问题。根据文档和谷歌上缺乏答案的情况,我怀疑UITextView只有一个格式设置适用于所有文本。对于UILabels和UITextView来说,要么全都一样,要么全都不一样。我唯一看到的解决方法是使用UIWebView,它可以让你更自由地为视图中的单词和文本进行样式设置。祝好运。:)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接