1. ホーム
  2. objective-c

[解決済み] NSViewの背景色を変更する最適な方法

2022-04-26 04:58:19

質問

を変更する方法を探しています。 backgroundColorNSView . また、適切な alpha マスク NSView . みたいな感じ。

myView.backgroundColor = [NSColor colorWithCalibratedRed:0.227f 
                                                   green:0.251f 
                                                    blue:0.337 
                                                   alpha:0.8];

ということに気づきます。 NSWindow はこの方式を採用しており、私は NSColorWheel 或いは NSImage 背景のオプションが、ベストであれば、喜んで使用します。

どのように解決するのですか?

ああ、自分の答えが正しかったな。Cocoaのメソッドを使うこともできます。

- (void)drawRect:(NSRect)dirtyRect {
    // set any NSColor for filling, say white:
    [[NSColor whiteColor] setFill];
    NSRectFill(dirtyRect);
    [super drawRect:dirtyRect];
}

スウィフトで。

class MyView: NSView {

    override func draw(_ dirtyRect: NSRect) {
        super.draw(dirtyRect)

        // #1d161d
        NSColor(red: 0x1d/255, green: 0x16/255, blue: 0x1d/255, alpha: 1).setFill()
        dirtyRect.fill()
    }

}