在我的一个视图中,我调用了一个模态对话框,如:
let application = NSApplication.shared()
application.runModal(for: artistDialogWindow)
按下OK或Cancel按钮后,我将终止模态窗口,如下所示:
let application = NSApplication.shared()
application.stopModal()
调用对话框的视图重新获得控制权。在运行代码后,它退出。在屏幕上,似乎没有窗口有焦点。如果我单击窗口的标题栏,标题栏左侧的红色,橙色和绿色按钮将从灰色变为彩色。我该如何以编程方式执行此操作?
我尝试了NSApplication.activate。它没有做任何事情。据推测我的应用程序已经处于活动状态。它只是没有焦点。我还尝试在视图中的表中选择一行。选中该行,但窗口不是。
答案 0 :(得分:1)
您可以尝试NSWindow的makeKey()。或makeKeyAndOrderFront(_ sender:Any?)。这些会激活窗口。
例如,必须关注niceWindow
(您需要引用要引起焦点的窗口)。然后做:
niceWindow.makeKey()
或
niceWindow.makeKeyAndOrderFront(self)