UITextView用红色表示奇数行,蓝色表示偶数行(TextView用不同颜色)

时间:2014-05-30 14:56:49

标签: objective-c ios7 uitextview

我想在我的应用程序中显示一些文本。有两种语言的文章。对于每篇文章,奇数段落是第一语言的评论,甚至段落是翻译的评论。实际上,特定应用程序的限制之一是两种语言都应该在同一页面中可用。语言A应为红色,语言B应为蓝色。

我可以使用一个UITextView并为不同的段落设置不同的颜色吗?

我看过几个关于多种颜色的文字视图的主题,但没有一个很清楚,我找不到任何其他有用的帖子。

3 个答案:

答案 0 :(得分:1)

  

我是否可以使用一个UITextView并为不同的段落设置不同的颜色

是的,这是完全可能的。这是我的一些示例代码:

https://github.com/mattneub/Programming-iOS-Book-Examples/blob/master/bk2ch10p503attributedString/ch23p771attributedStringInLabel/ViewController.m

在该代码中(我认为将which设置为4),我们创建了两个不同样式和两种不同颜色的段落,并在标签和文本视图中绘制它们。

答案 1 :(得分:0)

归因于您正在寻找的文字,请参阅此处:http://www.ioscreator.com/tutorials/format-text-in-ios6-attributed-strings

答案 2 :(得分:0)

NSAttributedString是工作的工具。它们是专为您的用户界面设计的字符串,具有一些特殊功能。您可以通过其UITextView属性访问attributedText的属性字符串。

NSAttributedString *attStr = myTextView.attributedText;

一旦你接受了这个,就可以开始搞乱颜色了。为此,您必须将特殊属性应用于特定范围。

[myTextView.attributedText addAttribute:NSForegroundColorAttributeName 
                                  value:<firstParagraphColor> 
                                  range:<firstParagraphRange>];

[myTextView.attributedText addAttribute:NSForegroundColorAttributeName 
                                  value:<secondParagraphColor> 
                                  range:<secondParagraphRange>];