如何在Swift中使用NSWindowOcclusionState.Visible
问题描述:
我试图实现窗口切换(我在Objective-C中做了很多次),但现在在Swift中。它接缝错误地使用了NSWindowOcclusionState.Visible,但我确实看不到我的问题。在初始窗口创建后,只调用w.makeKeyAndOrderFront(self)行。如何在Swift中使用NSWindowOcclusionState.Visible
有什么建议吗?
var fileArchiveListWindow: NSWindow? = nil
@IBAction func tougleFileArchiveList(sender: NSMenuItem) {
if let w = fileArchiveListWindow {
if w.occlusionState == NSWindowOcclusionState.Visible {
w.orderOut(self)
}
else {
w.makeKeyAndOrderFront(self)
}
}
else {
let sb = NSStoryboard(name: "FileArchiveOverview",bundle: nil)
let controller: FileArchiveOverviewWindowController = sb?.instantiateControllerWithIdentifier("FileArchiveOverviewController") as FileArchiveOverviewWindowController
fileArchiveListWindow = controller.window
fileArchiveListWindow?.makeKeyAndOrderFront(self)
}
}
答
老问题,但我只是遇到了同样的问题。检查occlusionState
在斯威夫特使用AND
二进制运算符做不同的一点:
if (window.occlusionState & NSWindowOcclusionState.Visible != nil) {
// visible
}
else {
// not visible
}
在斯威夫特2我得到:找不到“和”接受提供的参数过载 – 2015-06-19 07:09:39