在NSTokenField中自定义绘制令牌



是否有办法在NSTokenField内部自定义令牌?所谓"自定义",我的意思是我想用自定义的方式来绘制它们——自定义悬停、背景图像等。

无需使用私有api即可完成。一个NSTokenField仅仅是一个NSTextField,巧妙地利用了自定义附件单元支持的支持。自定义它涉及到对复杂的NSTextStorage/NSLayoutManager/NSAttachmentCell交互的一些了解,但是可以在https://github.com/octiplex/OEXTokenField

看到一个良好的可自定义令牌的开源实现:

是的,这是可能的,但你必须求助于使用私有api,如果你打算将你的应用程序发布到Mac app Store,这是你不希望的。我已经联系了苹果公司,他们已经确认,如果没有私有api,就没有办法做到这一点——如果只使用公共api需要不同的外观,就必须从头开始创建自己的控件。

如果你仍然想要使用私有api来做这件事,请查看BWToolkit。BWTokenField使用这些私有api来修改令牌的外观。这应该是一个很好的起点。但这需要一段时间来弄清楚和调整,直到一个人得到他想要的效果。

相关内容

  • 没有找到相关文章

最新更新