在我的ViewController的主要NSView中,我重写了func drawRect(dirtyRect: NSRect)
方法来在我的主视图上使用NSBezierPath
实现圆角。 在同样的方法中,我也指定了我的主视图的渐变背景。在使用NSBezierPath的NSView上的圆角被严重绘制
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)
}
即产生下列图像中示出的问题:
该图像显示的观点角中的一个。圆角的圆角只是部分成功,因为仍然有一个白色的角落伸出窗外的圆角。
如果有人有更好的方法来设置窗口的角半径,我会接受这样的建议。我已经做了大量的研究,但是这个解决方案似乎是最简单的。
有关如何解决此问题的任何建议,我们非常感谢。
为您的视图提供清晰的背景色。 – rmaddy
我该怎么办? 'NSColor.clearColor().set()'没有帮助... –
对不起,我在考虑iOS中'UIView'的'backgroundColor'属性。我不确定是否有类似的'NSView'。 – rmaddy