我们都知道Xcode如何改变代码某些部分的颜色,告诉我们哪种对象是正确的? (例如,蓝色代表数字,绿色代表评论等)
我想知道这是如何完成的。我想在UITextView中执行此操作,但如果必须,我将创建自己的类。是否有任何有用的线程或教程与此有关?
答案 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