我正在尝试在 10.7+ 上模拟 Mail.app 和 Finder.app 的标记化搜索功能,其中看起来是一个 NSSearchField,左侧是搜索放大镜图标,右侧是取消 (x) 按钮,但是还包括搜索字段内的标记。
有没有办法让 NSSearchField 使用 NSTokenFieldCell 而不是 NSSearchFieldCell?我尝试调用-setCell:
NSSearchField 实例,该实例有效并且似乎换出了单元格,正如调用po [searchField cell]
调试器所证明的那样,但是搜索字段的绘图中断并且没有绘制文本字段。
我是以正确的方式解决这个问题还是有更好的方法来做到这一点?谢谢!
2016 年10 月 25 日更新:使用 Accessibility Inspector 我发现 Finder 和 Mail 使用混合私有子类:
SGTSearchField : NSSearchField
SGTSearchFieldCell : NSSearchFieldCell
SGTTokenFieldCell : NSTokenFieldCell
这些是名为Suggestions.framework
. 希望苹果将来会公开这些课程。如果您也想公开此功能,请务必提交雷达文件。