我在寻找改变NSViewbackgroundColor的最好方法.我还希望能够为NSView设置合适的alpha口罩.比如:

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

我注意到NSWindow有这种方法,我不太喜欢NSColorWheelNSImage个背景选项,但如果它们是最好的,我愿意使用.

推荐答案

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

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

}

Objective-c相关问答推荐

Clang:将 id 之类的类型转换警告提升为 class

日期更改时的 UIDatePicker

在 Xcode 中为无法识别的 Select 器创建断点

如何处理 Xcode 警告没有以前的函数原型......?

为什么我的 UIButton 的内部修饰事件没有被调用?

适用于 ios 的 360° 全景库

iOS 6 Facebook 发布过程以remote_app_id 与存储的 id 不匹配结束

判断用户是否在连续的 UISlider 上完成滑动?

如何在 iPhone SDK 中使用自定义字体?

类在两者中都实现.将使用两者之一

对块进行类型定义是如何工作的

在不导入自己的情况下播放系统声音

iOS:如何将 UIViewAnimationCurve 转换为 UIViewAnimationOptions?

Objective-C 中的 super 到底是什么?

将块存储在数组中

在 UICollectionView 上重置滚动

iPhone如何在打字时获取UITextField的文本?

如何阻止 NSNotification 中的观察者调用两次?

如何在 NSUserDefaults 中保存 NSMutablearray

如何在对象内使用 objc_setAssociatedObject/objc_getAssociatedObject?