如何实现像Finder中的搜索字段

LSh*_*Shi 9 macos cocoa objective-c swift

Finder的搜索字段

在我的OS X应用程序(使用Cocoa)中,我想实现一个像Finder中的搜索字段(参见上面的屏幕截图).

我在考虑继承NSSearchFieldNSSearchFieldCell.后者应负责管理"代币".我已阅读查看编程指南,控制和细胞编程主题和的文档NSTokenField[Cell],NSSearchField[Cell],NSCell.

我不清楚一些事情:

1)在子类中,如何重用可能提供的放大镜图标NSSearchFieldCell?这个图标是NSImage?它有一个动画,我应该学习什么如果我必须自己实现动画?

2)应该使用什么来实现下拉按钮(如示例图像中的"NAME"按钮).用于对搜索类别(例如"NAME")和关键字(例如"yh")进行分组的类是什么?"NAME"之后的"箭头"是什么?

我们也欢迎任何书籍,文章或其他资源建议.

一个类似的相关问题是带有令牌的搜索字段等邮件(Mac OS X 10.7)

2015-07-26更新:

自Yosemite以来,NSCell的用法发生了变化, 如何在不创建NSButtonCell子类的情况下创建自定义主题NSButton? 与该主题相关.单元格将被弃用,因此使用它是不明智的.

dok*_*un1 1

这看起来很有趣。我会考虑子类化NSTextField并创建图像到文本条目的映射,您可以将leftView其添加到包含所有搜索约束的属性中。

当您添加图像来描述搜索约束以及放大镜时,您的文本应该自动移动,并且看起来应该与照片中的内容类似。

祝你好运。