在 NSImageView 之上添加 CATextLayer

Add CATextLayer on Top of NSImageView

我正在尝试在 NSImage.I 顶部显示文本,使用以下代码

                    let myTextLayer = CATextLayer()
                    myTextLayer.string = "My text"
                    myTextLayer.foregroundColor = NSColor.cyan.cgColor
                    myTextLayer.frame = self.img_view.bounds
                    self.img_view.layer=myTextLayer;

这会不断产生空的 NSImageView

您需要在使用层之前明确说明 NSImageView wantsLayer,如下所示

self.img_view.wantsLayer = true

let myTextLayer = CATextLayer()
myTextLayer.string = "My text"
myTextLayer.foregroundColor = NSColor.cyan.cgColor
myTextLayer.frame = self.img_view.bounds

self.img_view.layer.addSublayer(myTextLayer)