2

NSSearchField背景色を設定したいカスタムサブクラスがあります。

@interface CustomNSSearchField : NSSearchField
@end

これまでのところ、私は試しました:

試み #1

@implementation CustomNSSearchField

- (void)drawRect:(NSRect)rect
{
    [super drawRect:rect];

    [self setDrawsBackground:YES];
    [self setBackgroundColor:[NSColor redColor]];
}

視覚的な変化はまったくありませんでした:

試行 1

次に、ここでの提案に従い、次のことも試しました。

試み #2

- (void)drawRect:(NSRect)rect
{
    [super drawRect:rect];

    [[NSColor redColor] setFill];
    NSRectFill(rect);
}

これにより、次のようになります。

試行 2

検索フィールドの境界およびテキストの背後に背景色を設定するにはどうすればよいですか?

4

1 に答える 1

1

全体を描き直さなければなりません。NSSearchField の背景色を具体的に変更するためのプロパティはありません。この例をチェックしてください:

カスタム NSSearchField

編集:

また、指摘する価値があること。コントロールの drawRect メソッドをオーバーライドしないでください。NSSearchFieldCellのサブクラスを作成する必要があります。

于 2012-11-04T23:20:05.813 に答える