设置NSWindow专注

时间:2011-02-23 10:24:54

标签: objective-c cocoa focus nswindow nspanel

我有一个app winth一个窗口和一个面板,附在这个窗口上。

步骤进行:

  1. 停用我的应用(应用已打开,但没有焦点)
  2. 单击面板上的按钮(面板现在已聚焦,但主窗口未聚焦)
  3. 如何从面板设置焦点到主窗口(父窗口)?

2 个答案:

答案 0 :(得分:7)

目前尚不清楚焦点的含义,以及你称之为主窗口的是否是Cocoa中定义的主窗口。假设它是一个Cocoa主窗口,焦点与关键状态相同,

[[NSApp mainWindow] makeKeyWindow];

[[NSApp mainWindow] makeKeyAndOrderFront:self];

如果它不是Cocoa主窗口,您需要引用它并发送它-makeKeyWindow-makeKeyAndOrderFront:

答案 1 :(得分:0)

@ BUDDAx2答案的Swift 5版本:

NSApplication.shared.activate(ignoringOtherApps: true)