Jon*_* H. 5 macos nsview swift
在ViewController的主NSView中,我使用重写了func drawRect(dirtyRect: NSRect)在主视图上实现圆角的方法NSBezierPath。用同样的方法,我还指定了主视图的渐变背景。
override func drawRect(dirtyRect: NSRect) {
let path: NSBezierPath = NSBezierPath(roundedRect: self.bounds, xRadius: 18.0, yRadius: 18.0)
path.addClip()
let gradient = NSGradient(startingColor: NSColor(hexColorCode: "#383838"), endingColor: NSColor(hexColorCode: "#222222"))
gradient.drawInRect(self.frame, angle: 90)
}
Run Code Online (Sandbox Code Playgroud)
下图说明了出现的问题:

该图显示了视图角之一。圆角的倒圆仅部分成功,因为仍然有一个白色圆角伸出到窗口的圆角之外。
如果有人有更好的方法设置窗口的拐角半径,我会接受这样的建议。我对此事进行了大量研究,但是这种解决方案似乎是最简单的。
非常感谢您提供有关如何解决此问题的建议。
您应该在 NSWindow 实例上执行以下操作:
[window setOpaque:NO];
[window setBackgroundColor:[NSColor clearColor]];
Run Code Online (Sandbox Code Playgroud)
并画出需要的形状。
并检查这篇文章。
| 归档时间: |
|
| 查看次数: |
1328 次 |
| 最近记录: |