如何使用非透明窗口创建内部透明nsview

时间:2018-03-04 05:09:33

标签: macos cocoa nsview

我正在尝试在非透明窗口中创建不透明边框。目前我寻找子视图并创建bezierpath来填充外部区域。还有其他方法可以做到这一点吗?

我想要实现的目标:

enter image description here

{{1}}

1 个答案:

答案 0 :(得分:1)

更简单的解决方案是填充整个视图并使用NSCompositingOperationClear操作。必须是不透明窗口+窗口的一些透明背景颜色。

- (void)drawRect:(NSRect)dirtyRect {
    [[NSColor windowBackgroundColor] setFill];
    NSRectFill([self bounds]);
    NSRectFillUsingOperation(transparentSubviewRect, NSCompositingOperationClear);
}