我有一个多窗口Cocoa应用程序,使用前一个question的答案中描述的技术实现。
一切正常,但是在初始窗口出现后窗口打开并显示在前面,但是它们的状态不活跃(一切都是灰色的)。我必须在其框架内明确单击以使它们成为活动窗口。
到目前为止我的检查:
makeKeyAndOrderFront:
,但这没有任何区别。canBecomeKeyWindow
返回NO
,尽管该窗口是NSWindow的一个实例。如何将后续窗口显示为活动状态,我需要做什么?
编辑:
我使用NSWindow
将SecondaryWindow
子类化,并覆盖canBecomeKeyWindow
以返回YES
。我更改为XIB以使用新创建的NSWindow
子类。使用调试器逐步执行代码,但窗口仍然不会成为关键窗口。
答案 0 :(得分:0)
试试这个
[previousWindow orderBack];
[previousWindow resignKeyWindow];
[newWindow orderFront];
[newWindow makeKeyWindow];
如果您的应用程序窗口没有标题栏或调整大小窗口,那么 它不能成为关键窗口。