2014-06-11 5 views
2

У меня возникают проблемы с константами уровня окна, такими как NSScreenSaverWindowLevel. Swift жалуется на неразрешенный идентификатор. Я тоже не мог найти эквивалентный эквивалент этих уровней? Возможно ли это в настоящее время?Как установить уровень окна в Swift

Я пытаюсь использовать:

window.level = NSScreenSaverWindowLevel // unresolved identifier 

ответ

7

После через цепь устанавливает:

#define NSScreenSaverWindowLevel  kCGScreenSaverWindowLevel 

и ...

#define kCGScreenSaverWindowLevel  CGWindowLevelForKey(kCGScreenSaverWindowLevelKey) /* 1000 */ 

Я думаю, что исправленный ответ:

window.level = Int(CGWindowLevelForKey(Int32(kCGScreenSaverWindowLevelKey))) 

много литья из-за несоответствий в типах перечислений

+0

Я думаю, что это определенно отвечает на вопрос. Можно добавить, что 'NSScreenSaverWindowLevel' был псевдонимом для' kCGScreenSaverWindowLevelKey'. – nschum

+1

Решение от @david работает, но определенно очень уродливо. Что-то Apple должно исправить в следующей камере – pavanpodila

+1

'window.level = Int (CGWindowLevelForKey (CGWindowLevelKey.CursorWindowLevelKey))' теперь работает – Klaas

Смежные вопросы