我有一个NSSearchField,我想改变它的背景颜色,但我做不到,我尝试了一些事情:
1) 我试图将DrawBackground设置为TRUE,然后设置BackgroundColor,但DrawBackground的值总是False,要么我试图通过代码或Nib设置它。(我不知道为什么?)
2) 我试着设置NSText的BackgroundColor,但它看起来不太好,因为它没有覆盖整个NSSearchField——出现小搜索图标和取消图标的极端角落没有着色。
3) 我希望searchField具有它所在视图的颜色,所以我减少了searchField的alpha值,这看起来不错,但文本的alpha值也减少了,所以有没有任何方法可以使文本的alpha值始终保持为1。
感谢:)
如果您查看文档,Apple会阻止圆角矩形字段的背景色渲染:
为了防止呈现不一致,圆形边框文本字段禁用背景色呈现。
https://developer.apple.com/library/prerelease/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSTextField_Class/#//apple_ref/occ/instm/NSTextField/setDrawsBackground:
NSSearchField是NSTextField的扩展,NSTextField又是NSView的扩展,
不确定,但可以制作一个自定义类并覆盖drawRect函数,然后用背景色绘制。