在Objective-C for Cocoa Apps中,可以使用这种方式使窗口始终位于顶部吗?
如何用Swift实现相同的目标?
self.view.window?.level = NSFloatingWindowLevel
导致构建错误 Use of unresolved identifier 'NSFloatingWindowLevel'
Use of unresolved identifier 'NSFloatingWindowLevel'
要更改窗口级别,您不能在viewDidload中执行此操作,因为视图的window属性始终在那里为零,但是可以通过覆盖viewDidAppear方法或IBAction方法来实现:
斯威夫特1
override func viewDidAppear() { super.viewDidAppear() view.window?.level = Int(CGWindowLevelForKey(kCGFloatingWindowLevelKey)) }
迅捷2
view.window?.level = Int(CGWindowLevelForKey(.FloatingWindowLevelKey))
迅捷3
view.window?.level = Int(CGWindowLevelForKey(.floatingWindow))
斯威夫特4
最后,他们修复了奇怪的语法:
view.window?.level = .floating