如何为 NSTextField/NSSearchField 获得充满活力的效果,例如 Big Sur 中 Safari 的地址栏

Mar*_*ark 5 cocoa nstextfield nssearchfield nsvisualeffectview macos-big-sur

我有一个 Mac 应用程序,其工具栏中有一个搜索字段(实际上是一个NSTextField,但我NSSearchField也尝试过)。

我的问题是 Big Sur 上的文本字段背景只是纯白色,这使得它很难识别。

Big Sur 上 Safari 的位置栏具有更多对比度。我相信这是通过使用活力(如何更改 NSSearchField 的背景颜色(如 OS X 中的消息应用程序))以某种方式实现的,但我无法获得相同的效果。

标题栏

我试过:

  • testTextField.appearance = NSAppearance(named: .vibrantLight)
  • 绘制/不绘制背景的各种组合
  • 各种背景颜色
  • 将我的工具栏项目包装到 中NSVisualEffectView,但显示在文本字段周围

编辑:

我应该提到我使用roundedBezel边框样式。仅这一点似乎就会影响背景颜色(即背景始终为白色,无论设置哪种颜色)。