macos - 如何更改 NSSearchField 的背景颜色(例如 OS X 中的消息应用程序)

标签 macos cocoa nssearchfield

我需要获得 NSSearchField 的外观

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

最佳答案

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

但是,如果您想要这种外观而不需要 NSVisualEffectView ,您可以手动设置其外观:

searchField.appearance = [NSAppearance appearanceNamed:NSAppearanceNameVibrantLight];

enter image description here

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

相关文章:

swift - 如何在 MacOS 应用程序中执行 Apple Finder -> 文件信息 -> 添加标签功能?

swift - CAMetalLayer nextDrawable 返回 nil 因为分配失败

python - Scipy 错误 : numpy. dtype 大小已更改,可能表示二进制不兼容(以及相关的奇怪行为)

macos - ionic 添加平台 EACCES 错误

objective-c - 使用 NSMenu 上的箭头控制 NSStatusItem-Objective-C/Cocoa 的 NSSlider

objective-c - 寻求开发仅图标的应用程序

iphone - 什么是 SimpleEditableListAppDelegate?

JavaScript macOS 错误 : Named parameters must be passed as an object

cocoa - 如何防止 NSSearchField 使用第一个自动完成列表条目覆盖输入的字符串?

macos - 当光标位于 NSSearchField 上时显示消息