Wie kann ich alles in einem einzigen NSView angezeigt verdunkeln?
Frage
Hintergrund: Meine Anwendung hat ein Hauptfenster, die ein paar kleinere NSView
Objekte enthält, von denen jede mehrere verschiedene Steuerelemente enthält, Etiketten, Bilder, etc. Eine dieser Ansichten (und alles, was es enthält) wird in Reaktion auf einen gegebenen flag deaktiviert. Wenn das Flag gesetzt ist, ich automatisch deaktiviert und grau-out all die innerhalb dieser NSView
eingebetteten Kontrollen.
Frage: Ich möchte wissen, wie man verdunkeln Behinderte NSView
. Die Wirkung ich suche wäre so etwas wie ein 50% transparent Black Box auf den behinderten NSView
Zeichnung. Der Hintergrund und alle Steuerelemente würde noch sichtbar sein, aber die Farben wären ein dunkler Schatten sein. Gibt es eine einfache Möglichkeit, dies zu tun?
Lösung
Coreanimation in 10.5 sollte eine einfache Möglichkeit bietet eine lichtdurchlässige Schicht über dem Ziel zu setzen. Sie können eine schwarze Schicht vor der Ansicht, mit der Opazität bei 0% erstellen. Wenn Sie die Ansicht verdunkeln wollen, setzen Sie die Deckkraft der schwarzen Schicht auf 50%, und die Aussicht reibungslos verdunkelt werden.