【发布时间】:2015-05-11 04:16:02
【问题描述】:
我的Cocoa 应用程序中有一个layer-backed NSView。使用以下代码,整个自定义视图变得透明:
self.layer?.opaque = false
self.layer?.opacity = 0
不幸的是,我需要CALayer 的边框保持可见(目前它正在变得透明)。如何才能最好地只显示边框?
编辑
我现在已经设法让它工作了,但我不确定为什么。
我以前认为它不相关,但 layer backed NSView 实际上是 NSTextField。这暴露了一个似乎比CALayer“影响更大”的 backgroundColor 字段
设置self.backgroundColor = NSColor.clearColor() 完成了这项工作。
但是,我选择了分层
- 设置
self.wantsLayer = true - 覆盖
wantsUpdateLayer并返回 true - 操作图层的代码在我的
updateLayer()方法中
现在的问题是为什么上述方法有效,而不在CALayer 上使用clearColor?
【问题讨论】:
-
所以你需要边框作为轮廓?
标签: objective-c cocoa swift calayer nsview