1

我有一个 NSSearchField,我想改变它的背景颜色,但我做不到我尝试了几件事:

1)我尝试设置 DrawBackground TRUE 然后 setBackgroundColor 但 DrawBackGround 的值总是 False 我尝试通过代码或 Nib 设置它。(我不知道为什么?)

2)我尝试设置 NSText 的 BackgroundColor 但它看起来不太好,因为它没有覆盖整个 NSSearchField 存在小搜索图标和取消图标的极端角落没有着色。

3)我希望 searchField 具有它所在视图的颜色,所以我降低了 searchField 的 alpha 值,看起来不错,但文本的 alpha 值也降低了,所以有什么方法可以使文本的 alpha 值始终保持不变1.

谢谢 :)

4

2 回答 2

2

如果您查看文档,Apple 会阻止圆角矩形字段的背景颜色渲染:

“为了防止渲染不一致,圆形边框文本字段的背景颜色渲染被禁用。”

https://developer.apple.com/library/prerelease/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSTextField_Class/#//apple_ref/occ/instm/NSTextField/setDrawsBackground

于 2015-03-27T19:37:17.523 回答
0

NSSearchField 是 NSTextField 的扩展,NSTextField 又是 NSView 的扩展,

不确定,但可以制作自定义类并覆盖 drawRect 函数并使用背景颜色进行绘制。

于 2012-09-05T09:16:37.777 回答