-1

我有一个导出 Objective-C 和 Swift 代码的应用程序。

在这个自动生成代码的预览窗口中,我想用 Xcode 的默认主题使用相同的颜色格式化文本,即绿色表示注释,蓝色表示数字,红色表示字符串,紫色表示类名等。

诸如 PaintCode 之类的应用程序设法实现了这一点。有谁知道图书馆或其他生产方式。

使用格式化代码预览绘制代码

4

2 回答 2

1

您将需要一个词法分析器将文本分成几部分:标识符、符号、字符串和数字文字、注释等。进一步阅读Wikipedia 上的词法分析器。

然后你必须知道在它们上应用什么颜色,包括不同类型的标识符:关键字、函数、变量、类型等。对于这些,你可以管理某种列表并查找它们。

对于解析,一个好的起点是NSScanner或简单地逐个字符地遍历文本。这就是我们在 PaintCode 中的做法。

对于着色本身,只需使用NSAttributedStringand NSForegroundColorAttributeName。无需进入核心文本。

于 2015-07-13T18:11:28.263 回答
0

如果您使用的是 Objective C 或 Swift,请查看 CoreText。

您可以为每个绘制的字形着色。

关于 CoreText 的 Apple 开发者文档

于 2015-07-03T08:34:43.487 回答