gpt4 book ai didi

macos - 如何在 Swift 中使用 NSWindowOcclusionState.Visible

转载 作者:搜寻专家 更新时间:2023-10-31 23:04:41 42 4
gpt4 key购买 nike

我正在尝试实现窗口切换(我在 Objective-C 中做过很多次),但现在是在 Swift 中。看起来我错误地使用了 NSWindowOcclusionState.Visible,但我真的看不到我的问题。在创建初始窗口后,仅调用 w.makeKeyAndOrderFront(self) 行。

有什么建议吗?

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)
}
}

最佳答案

老问题,但我遇到了同样的问题。在 Swift 中使用 AND 二元运算符检查 occlusionState 的方式略有不同:

if (window.occlusionState & NSWindowOcclusionState.Visible != nil) {
// visible
}
else {
// not visible
}

关于macos - 如何在 Swift 中使用 NSWindowOcclusionState.Visible,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27258425/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com