Swift 如何更改NSImage/NSImageView的透明度?
我在菜单栏中有一个视图,我正在将一些图像放入其中。我想让它50%透明。我试过:Swift 如何更改NSImage/NSImageView的透明度?,swift,cocoa,nsimageview,Swift,Cocoa,Nsimageview,我在菜单栏中有一个视图,我正在将一些图像放入其中。我想让它50%透明。我试过: let image = NSImage(named: "bar.pdf") let imageView = NSImageView(frame: NSRect(x: 0, y: 0, width: 3, height: 11)) imageView.wantsLayer = true imageView.alphaValue = 0.5 但是,图像仍然是完全不透明的。下面的片段似乎正在操场上工作。是否可能您实际上
let image = NSImage(named: "bar.pdf")
let imageView = NSImageView(frame: NSRect(x: 0, y: 0, width: 3, height: 11))
imageView.wantsLayer = true
imageView.alphaValue = 0.5
但是,图像仍然是完全不透明的。下面的片段似乎正在操场上工作。是否可能您实际上正在设置一个视图的
alphaValue
,但显示另一个视图?此外,设置视图的alphaValue
本身并不要求wantsLayer
为true
。最后,您的代码示例缺少设置视图图像的那一行,尽管我无法想象这与您的问题有什么关系(设置这两个属性的顺序无关紧要)
下面的代码片段似乎在操场上工作。是否可能您实际上正在设置一个视图的
alphaValue
,但显示另一个视图?此外,设置视图的alphaValue
本身并不要求wantsLayer
为true
。最后,您的代码示例缺少设置视图图像的那一行,尽管我无法想象这与您的问题有什么关系(设置这两个属性的顺序无关紧要)
苹果在新版swift中更改了一些名称: 以下是Swift 3.0版本:
let url = URL(string: "http://www.gravatar.com/avatar/cbfa20635c9269675d54547c080c9b64")!
let image = NSImage(contentsOf: url)!
let imageView = NSImageView(frame: CGRect(origin: .zero, size: image.size))
imageView.image = image
imageView.alphaValue = 0.5
PlaygroundPage.current.liveView = imageView
苹果在新版swift中更改了一些名称: 以下是Swift 3.0版本:
let url = URL(string: "http://www.gravatar.com/avatar/cbfa20635c9269675d54547c080c9b64")!
let image = NSImage(contentsOf: url)!
let imageView = NSImageView(frame: CGRect(origin: .zero, size: image.size))
imageView.image = image
imageView.alphaValue = 0.5
PlaygroundPage.current.liveView = imageView
它对我有效,除了。。。你在哪里添加该视图?它对我有效,除了。。。在哪里添加该视图?