2017-05-17 3 views
1

Ich arbeite an einem Projekt für Mac OS (OS X), wo ich möchte, dass das Fenster auf ein dunkles Thema eingestellt wird, anstatt auf das Standard-Thema, das eine hellgraue Titelleiste mit weißen Tasten hat.Wie ändere ich die Titelleiste/Symbolleiste und NSButtons zu einem dunklen Thema?

Wie kann ich die Titelleiste/Symbolleiste in eine schwarze Farbe und die Schaltflächen in ein dunkles Grau ändern?

Ich bin in Swift Codierung, aber eine Antwort in Objective-C wäre auch hilfreich. Ich habe ein Bild angehängt, was ich bin mit dem Ziel, um es wie aussehen:

What I want it to look like

Antwort

4

Okay, ich die Lösung gefunden.

Um die WindowController zu einem dunkelen Thema zu ändern, den folgenden Code in die windowDidLoad() Funktion ein:

window?.appearance = NSAppearance(named: NSAppearanceNameVibrantDark) 

Dies macht die Titelleiste/Symbolleiste eine schwarze Farbe und die Tasten eines dunkelgrau.

Auch die titlebar und Werkzeugleiste in eine einheitlichen, um, wie oben in der Abbildung dargestellt, gibt diesen Code in der windowDidLoad() Funktion zusammen mit dem obigen Code:

window?.titleVisibility = .hidden 

Hier wird ein Bild des ist Fenster, wenn die App ausgeführt wird: Dark Theme Window

Ich hoffe, das half denen wie mir, die sich fragen, wie man das macht.

1

Um dies rufen aus dem Inneren eines Viewcontroller, ohne einen direkten Ausgang für das Fenster:

override func viewDidAppear() { 
    super.viewDidAppear() 
    self.view.window?.appearance = NSAppearance(named: NSAppearance.Name.vibrantDark) 
} 

Beachten Sie, dass Sie von viewDidAppear aufrufen müssen() und nicht viewDidLoad(), da das Fenster noch nil da sein .

BEARBEITEN: Für Swift 4

aktualisiert
Verwandte Themen