1

私は iOS/Android プログラミングのバックグラウンドを持っており、最初の MAC アプリケーションに取り組んでいます。ユーザーが選択できるアイテムをリストするために使用してNSComboBoxいますが、ドロップダウンメニューの背景色の設定に問題があります。

私は現在何を持っていますか?

これは私が今持っているものです。ドロップダウンの 2 つのオプションが白い背景で表示されます (青は忘れてください。項目が選択されていることを示しています)。白を他の色に変えたい

ここに画像の説明を入力

私がやった事?

色々検索してこのスレにたどり着きました。答えは、NSComboBoxCell をサブクラス化し、- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlViewメソッドをオーバーライドすることを示唆しています。私はそれを試してみました..これは私のコードです

@interface CustomComboBoxCell : NSComboBoxCell
@end

@implementation CustomComboBoxCell
- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)controlView{
    [super drawWithFrame:cellFrame inView:controlView];

    //I want red color to the dropdown menu, I filled with yellow color
    NSRect bounds = NSMakeRect(cellFrame.origin.x, cellFrame.origin.y,
                     cellFrame.size.width, cellFrame.size.height);
    [[NSColor redColor] setFill];
    NSRectFill(bounds);
}
@end

そしてこれが結果です

ここに画像の説明を入力

私が欲しかったものではありません。:(

質問

簡単ですが、ドロップダウンメニューの背景色を変更するにはどうすればよい NSComboBoxですか?

誰?

4

2 に答える 2