UITextView中的语法高亮显示?

时间:2011-04-10 23:35:14

标签: iphone xcode syntax uitextfield text-coloring

我们都知道Xcode如何改变代码某些部分的颜色,告诉我们哪种对象是正确的? (例如,蓝色代表数字,绿色代表评论等)

我想知道这是如何完成的。我想在UITextView中执行此操作,但如果必须,我将创建自己的类。是否有任何有用的线程或教程与此有关?

2 个答案:

答案 0 :(得分:3)

UITextView不接受多种文本样式,因此控件无法进行语法着色。

您必须使用Core Text框架和UITextInput协议进行显示和编辑。

至于实际着色,有一些开源代码编辑器可能值得一看,例如Fragaria

虽然它是一个Cocoa项目,而不是Cocoa Touch,它应该对你有用。

答案 1 :(得分:1)

我猜您正在寻找Core Text API

如果你想超越SDK,Oliver Drobnik写了一些关于扩展NSAttributedString的文章和代码。查看http://www.cocoanetics.com/2011/01/befriending-core-text/https://github.com/Cocoanetics/NSAttributedString-Additions-for-HTML