2

我正在编写一个 Cocoa 应用程序,我希望用户能够使用占位符将模板字符串放在一起。(例如,(艺术家)占位符将由当前在 iTunes 中播放的歌曲的艺术家填写,等等。)我见过一些应用程序执行类似的操作,其中每个可能的占位符术语都显示为蓝色的“菱形, " 并且用户可以将这些“菱形”拖放到输入文本字段中以构造一个字符串,可选择输入一些他们自己的自定义文本(例如,用连字符分隔(艺术家)和(标题)“菱形”)。

有谁知道是否有任何示例代码可以帮助我实现这样的东西?

我说的是这样的事情:(这来自“Hazel”应用程序,在 Hazel 规则中,您可以根据您指定的模板模式重命名文件)

输入文本字段中的可拖放占位符元素

4

2 回答 2

5

NSTokenField 集中在上面的图片中(周围有蓝色环)。每个“令牌”(您的菱形)都是令牌字段的自动识别字符串。正如上面的 rdelmar 评论,阅读 NSTokenField ,你将大部分时间在那里。

令牌的“来源”很可能是一个圆角的 NSBox,其中包含排列整齐的无边界、无背景的 NSTokenField,每个字段都有一个令牌。这将使您轻松拖放以及轻松对齐。

于 2012-09-14T22:08:23.303 回答
1

如果你需要自定义单个令牌的 l&f,你需要实现你自己的东西: NSTextView with NSTextAttachment which has NSTextAttachmentCells ...它很痛苦,而且代码很多,但实际上并不难

NSTokenAttachment 单元只有很多私有 l&f 选项:(

于 2012-09-14T23:01:01.083 回答