我需要得到 NSSearchField 的这种外观

但是用Interface Builder的标准方法设置backgroundColor似乎是不可能的。我怎么能做到这一点?
子类化 NSSearchField 和 NSSearchFieldCell 没有帮助,因为在实现我自己的绘制方法时我失去了所有动画(当你点击搜索字段和图标+文本向左滑动时)。

最佳答案

您的屏幕截图显示的只是 NSSearchField 放置在 NSVisualEffectView 下时的标准外观。也就是说,当搜索字段是 NSVisualEffectView 的 subview (带有 materialNSVisualEffectMaterialLight )时,搜索字段将自动获得上面的外观。

但是,如果您想要没有 NSVisualEffectView 的外观,您可以手动设置其外观:

searchField.appearance = [NSAppearance appearanceNamed:NSAppearanceNameVibrantLight];

关于macos - 如何更改 NSSearchField 的背景颜色(如 OS X 中的 Messages 应用程序),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30287662/

10-13 06:30