objective-c - 更改 NSView 的背景颜色的最佳方法

我正在寻找更改 NSViewbackgroundColor 的最佳方法。我还希望能够为 NSView 设置适当的 alpha 掩码。比如:

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

我注意到 NSWindow 有这个方法,我不是 NSColorWheelNSImage 背景选项的忠实粉丝,但是如果他们是最好的,愿意使用。

最佳答案

是的,你自己的答案是对的。你也可以使用 Cocoa 方法:

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

在 swift 中:

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()
    }

}

https://stackoverflow.com/questions/2962790/

相关文章:

ios - 自定义 UITableView 标题部分

ios - AppDelegate 的用途是什么,我如何知道何时使用它?

ios - 使用 AVFoundation AVPlayer 循环播放视频?

objective-c - 在 Objective-C 中大写或更改 NSString 的大小写

ios - 在 SwiftUI/Swift/Objective-C/Xamarin 中将底部边框线添

objective-c - Objective-C 中可为空、__nullable 和 _Nulla

ios - UIView 周围的虚线边框

ios - 以编程方式调用电话

objective-c - Objective-C 中是否存在强类型集合?

objective-c - 在objective-c中@符号代表什么?