layer-backed NSView
我的Cocoa
申请中有一个。使用以下代码,使整个自定义视图透明:
self.layer?.opaque = false
self.layer?.opacity = 0
不幸的是,我需要使的边框CALayer
保持可见(并且当前已设为透明)。我如何最好地只显示边框?
我现在设法使其正常工作,但是我不确定为什么。
我以前认为这没有关系,但layer backed NSView
实际上是一个NSTextField
。这将显示一个“背景颜色”字段,看起来比“颜色”字段具有“更大的影响力”CALayer
设置self.backgroundColor = NSColor.clearColor()
完成了工作。
但是,我选择了分层
self.wantsLayer = true
wantsUpdateLayer
并返回trueupdateLayer()
方法中现在的问题是,为什么上述作品和不使用clearColor
的CALayer
?
layer-backed NSTextField
相对于常规而言,它是一个事实,这一点layer-backed NSView
似乎很重要……它具有自己的背景,除非您设置以下内容,否则它将显示在图层背景的前面:
self.drawsBackground = false
如果这样做,则实际上可以将NSColor.clearColor().CGColor
用作图层的backgroundColor。
如果不这样做,则看起来您需要直接设置视图的backgroundColor来控制背景。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句