[英]Programmatically hide and close the window of current NSViewController
我想在func viewDidLoad()
隱藏/關閉我的主應用程序窗口,並且僅在某些事件需要時才顯示/取消隱藏主窗口。
我試過self.view.window?.close()
但這會留下一個白色的窗口。 我也試過NSApp.hide(nil)
但是我不能用NSApp.unhide(nil)
取消隱藏。 下面是一些示例代碼:
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
NSApp.hide(nil)
runTest()
}
func runTest () {
let check = false
if check == false {
NSApp.unhide(nil)
}
}
func orderOut(_ sender: Any?)
從屏幕列表中刪除窗口,從而隱藏窗口。
func makeKeyAndOrderFront(_ sender: Any?)
將窗口移動到屏幕列表的最前面,在其級別內,並使其成為關鍵窗口; 也就是說,它顯示了窗口。
Hide
和Close
是兩個不同的東西:
如果窗口是鍵或主窗口,則緊跟在其后面的窗口對象在其位置成為鍵或主窗口。 調用
orderOut(_:)
會導致窗口從屏幕上移除,但不會導致它被釋放。 有關何時釋放窗口的信息,請參閱close()
方法。 在子窗口上調用orderOut(_:)
會導致該窗口在被移除之前從其父窗口中移除。
隱藏應用程序( NSApp.hide(nil
) 是另一回事:它
隱藏所有接收器的窗口,並激活下一個應用程序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.