我有一个NSSearchField
的自定义子类,我想设置背景颜色。
@interface CustomNSSearchField : NSSearchField
@end
到目前为止,我已经尝试过:
尝试#1
@implementation CustomNSSearchField
- (void)drawRect:(NSRect)rect
{
[super drawRect:rect];
[self setDrawsBackground:YES];
[self setBackgroundColor:[NSColor redColor]];
}
导致完全没有视觉变化:
然后我按照here的建议进行了尝试:
尝试#2
- (void)drawRect:(NSRect)rect
{
[super drawRect:rect];
[[NSColor redColor] setFill];
NSRectFill(rect);
}
结果如下:
如何设置里面的背景颜色搜索字段文本的边界和背后?
答案 0 :(得分:1)
你必须重绘整个事物。 没有属性,专门更改NSSearchField的背景颜色。 看看这个例子:
编辑:
还有什么值得指出的。 您永远不应该覆盖控件drawRect方法。 您应该创建NSSearchFieldCell的子类。