我深入研究了TextKit,并想知道如何在Xcode代码编辑器中实现编辑器占位符:
您也可以自己尝试一下,并按以下内容键入内容:<#Hello#>
,它会自动变成一个占位符。
Xcode编辑器是使用TextKit构建的。经过研究,我提出了两种可能的策略:
NSTextAttachment
:检测到与占位符模式<#...#>
相匹配的字符串后,该字符串将被删除并由NSTextAttachment
代替,该NSLayoutManager
可以处理“徽章形”背景和文字。<#
:不确定是否可行,但可能会这样:
#>
+ layoutManager(... shouldGenerateGlyphs, forGlyphRange...)
隐藏(drawBackground(forGlyphRange glyphsToShow: NSRange, at origin: NSPoint)
)我想实施类似的方法,并且希望您能提出任何建议,以了解进行哪种方式。