我在菜单栏中有一个视图,我正在放置一些图像。我想让它透明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
但是,图像仍然完全不透明。
答案 0 :(得分:0)
以下代码段似乎在操场上工作。您是否有可能实际设置一个视图的alphaValue
但显示另一个视图?另外,设置视图的alphaValue
并不会自己调用wantsLayer
为true
。最后,您的代码示例缺少设置视图图像的行,但我无法想象这与您的问题有什么关系(您设置这两个属性的顺序无关紧要)...
import XCPlayground
import Cocoa
let url = NSURL(string: "http://www.gravatar.com/avatar/cbfa20635c9269675d54547c080c9b64")!
let image = NSImage(contentsOfURL: url)!
let imageView = NSImageView(frame: CGRect(origin: .zero, size: image.size))
imageView.image = image
imageView.alphaValue = 0.5
XCPlaygroundPage.currentPage.liveView = imageView
答案 1 :(得分:0)
Apple在更新版本的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