如何更改NSSearchField的背景颜色(如OS X中的Messages app)

sur*_*der 4 macos cocoa nssearchfield

我需要得到NSSearchField的这种外观

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

Ren*_*ong 7

您的屏幕截图显示的是NSSearchField放置在屏幕下的标准外观NSVisualEffectView.也就是说,搜索栏将自动获得时,它的子视图上面的样子NSVisualEffectView(用materialNSVisualEffectMaterialLight).

但是,如果您想要此外观NSVisualEffectView,则可以手动设置其外观:

searchField.appearance = [NSAppearance appearanceNamed:NSAppearanceNameVibrantLight];
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述