有没有办法在NSTokenField
内设置自定义令牌?通过“自定义”我的意思是我想以自定义方式绘制它们 - 自定义悬停,背景图像等。
答案 0 :(得分:7)
可以在不使用私有API的情况下完成。 NSTokenField
只是NSTextField
,可以巧妙地使用对自定义附件单元支持的支持。自定义它涉及对复杂NSTextStorage
/ NSLayoutManager
/ NSAttachmentCell
交互的一些洞察,但可以在以下位置查看一个可自定义令牌的开源实现:https://github.com/octiplex/OEXTokenField
答案 1 :(得分:4)
是的,这是可能的,但您必须使用私有API,如果您打算将应用程序发布到Mac App Store,则不需要这些API。我已经联系过Apple,他们已经确认没有私有API就无法做到这一点 - 如果只需要使用公共API需要不同的外观,就必须从头开始创建一个自己的控件。
如果您仍想使用私有API执行此操作,请查看BWToolkit。 BWTokenField使用这些私有API来修改令牌外观。这应该是一个很好的起点。但需要一段时间才能弄明白并调整一切,直到获得一个人想要的效果。