2016-06-02 16 views
0

Ich habe eine Ansicht in der Menüleiste, in die ich ein paar Bilder bin setzen. Ich möchte es 50% transparent machen. Ich habe es versucht:Wie ändere ich die Transparenz einer NSUmage/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 

Allerdings ist das Bild immer noch völlig undurchsichtig.

+0

Es funktioniert für mich, außer dass ... Wo Sie diese Ansicht hinzufügen? –

Antwort

0

Der folgende Ausschnitt erscheint auf dem Spielplatz zu arbeiten. Ist es möglich, dass Sie tatsächlich die alphaValue einer Ansicht festlegen, aber eine andere anzeigen? Auch die alphaValue der Ansicht Einstellung nicht in seinem eigenen Recht Ruf nach wantsLayertrue zu sein. Schließlich wird Ihr Codebeispiel fehlt die Zeile, wo Sie das Bild der Ansicht gesetzt, obwohl ich kann mir nicht vorstellen, wie das für Ihr Problem relevant sein könnten (die Reihenfolge, in der diese beiden Eigenschaften festgelegt keine Rolle spielt) ...

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

von Apple einige der Namen der Dinge in neueren Versionen von schnellen geändert:

Hier ist ein Swift 3.0 Version:

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