And*_*rew 8 cocoa nstokenfield nscell nssearchfield nstokenfieldcell
我试图在10.7+上模拟Mail.app和Finder.app的标记化搜索功能,其中看起来像是一个NSSearchField,左边是搜索放大镜图标,右边是cancel(x)按钮,但是还包括搜索字段内的标记.

有没有办法让NSSearchField使用NSTokenFieldCell而不是NSSearchFieldCell?我已经尝试调用-setCell:NSSearchField实例,该实例可以通过调用po [searchField cell]调试器来替换单元格,但是搜索字段的绘制中断并且没有绘制文本字段.
我是以正确的方式接近这个还是有更好的方法来做到这一点?谢谢!
2016年10月25日更新:使用辅助功能检查器我发现Finder和Mail使用混合私有子类:
SGTSearchField : NSSearchField
SGTSearchFieldCell : NSSearchFieldCellSGTTokenFieldCell : NSTokenFieldCell这些是名为的私有框架的一部分Suggestions.framework.希望Apple将来能够公开这些课程.如果您希望公开此功能,请确保提交雷达.
我给你们两个的最佳答案就是简单地使用 NSTokenField 。您也许可以修改它以显示小搜索图标。但如果这不是成败,你可以从 NSTokenField 获得很多标记化的功能。