在我的菜单栏应用程序中,我有一个打开窗口的菜单项。窗口在前面打开,窗口后面的窗口仍然是关键窗口。
我不能让window.makeKey()
工作,除非我在断点后运行它。我尝试将代码行放在窗口生命周期的不同位置,甚至将它放在DispatchQueue.main.asyncAfter(deadline: execute:)
中,但它不起作用。
我也尝试过使用window.makeKeyAndOrderFront(sender:)
。属性window.canBecomeKey
是真的。
答案 0 :(得分:1)
原来我需要将这一行放在打开窗口的菜单项的IBAction中:
NSApplication.shared.activate(ignoringOtherApps: true)
这使它成为打开时的关键窗口,因此我无需致电window.makeKey()