2016-06-02 4 views
0

У меня есть представление в строке меню, в которую я помещаю несколько изображений. Я хочу сделать его прозрачным на 50%. Я пробовал:Как изменить прозрачность NSImage/NSImageView?

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 в представлении не имеет права называть wantsLayertrue. Наконец, в вашем примере кода отсутствует строка, в которой вы устанавливаете образ представления, хотя я не могу себе представить, как это может быть связано с вашей проблемой (порядок, в котором вы устанавливаете эти два свойства, не имеет значения) ...

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 
0

компании Apple изменила некоторые из названий вещей в новых версиях стрижа:

Вот 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 
Смежные вопросы