NSTokenField中的自定义标记

Don*_*van 3 macos cocoa objective-c nstokenfield

有没有办法在里面有自定义令牌NSTokenField?通过"自定义"我的意思是我想以自定义方式绘制它们 - 自定义悬停,背景图像等.

mar*_*rux 7

它可以在不使用私有API的情况下完成.的NSTokenField仅仅是NSTextField使巧妙地利用自定义联接小区支持的支持.自定义它涉及对复杂NSTextStorage/ NSLayoutManager/ NSAttachmentCell交互的一些洞察,但是可以在以下位置看到一个可定制令牌的良好开源实现:https://github.com/octiplex/OEXTokenField


Enc*_*ada 5

是的,这是可能的,但您将不得不求助于使用私有 API,如果您打算将您的应用程序发布到 Mac App Store,则您不希望这样做。我已就此与 Apple 联系,他们已确认没有私有 API 就无法做到这一点 - 如果需要仅使用公共 API 的不同外观,则必须从头开始创建自己的控件。

如果您仍想使用私有 API 执行此操作,请查看 BWToolkit。BWTokenField 使用这些私有 API 来修改令牌外观。这应该是一个很好的起点。但是需要一段时间才能弄清楚并调整一些东西,直到达到预期的效果。