Подтвердить что ты не робот

Держите окно всегда сверху?

В Objective-C для Cocoa Apps можно использовать такой способ, чтобы окно всегда сверху?

Как добиться этого с помощью Swift?

self.view.window?.level = NSFloatingWindowLevel

Вызывает ошибку сборки Use of unresolved identifier 'NSFloatingWindowLevel'

4b9b3361

Ответ 1

Чтобы изменить уровень окна, вы не можете сделать это внутри viewDidload, потому что свойство окна просмотра всегда будет равно нулю, но это может быть сделано переопределением метода viewDidAppear или методом IBAction:

Swift 1

override func viewDidAppear() {
    super.viewDidAppear()
    view.window?.level = Int(CGWindowLevelForKey(kCGFloatingWindowLevelKey))
}

Swift 2

view.window?.level = Int(CGWindowLevelForKey(.FloatingWindowLevelKey))

Swift 3

view.window?.level = Int(CGWindowLevelForKey(.floatingWindow))

Swift 4

Наконец, они исправили нечетный синтаксис:

view.window?.level = .floating

Ответ 2

Я бы предпочел этот путь. Это игнорирует все другие активные приложения и делает ваше приложение заранее.

    override func viewWillAppear() {            
        NSApplication.sharedApplication().activateIgnoringOtherApps(true)
    }