我有一个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);
}
结果是:
如何在搜索字段文本的边界内和后面设置背景颜色?
最佳答案
您必须重新绘制整个内容。
没有属性来专门更改NSSearchField的背景颜色。
看看这个例子:
Custom NSSearchField
编辑:
还有值得指出的地方。
您永远不应覆盖控件的drawRect方法。
您应该创建NSSearchFieldCell的子类。
关于objective-c - 在NSSearchField子类的drawRect中设置背景色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13220567/