Как заставить контроллер представления использовать светлый или темный режим в macOS? - PullRequest
2 голосов
/ 28 апреля 2020

Я знаю, что есть способ программно переопределить стиль интерфейса в iOS, как показано ниже:

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        overrideUserInterfaceStyle = .dark    
    }
}

Однако я попытался найти что-то похожее в macOS, но не смог его найти. Есть ли способ добиться этого в macOS?

Ответы [ 2 ]

1 голос
/ 28 апреля 2020

Это можно сделать с помощью

public protocol NSAppearanceCustomization : NSObjectProtocol {
    @available(OSX 10.9, *)
    var appearance: NSAppearance? { get set }

. NSApplication, NSWindow и NSView соответствуют этому протоколу, поэтому вы можете использовать его как

window.appearance = NSAppearance(named: .aqua)
window.makeKeyAndOrderFront(nil)
0 голосов
/ 28 апреля 2020

Я наконец нашел это. Вы можете сделать то же самое в macOS, как показано ниже:

class ViewController: NSViewController { 

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do view setup here.
        view.appearance = NSAppearance(named: .darkAqua)

    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...