我有一个多窗口 Cocoa 应用程序,使用前一个问题的答案中描述的技术实现。
一切正常,但是在初始窗口出现后打开的窗口显示在前面,但它们的状态不是活动的(一切都是灰色的)。我必须在它们的框架内显式单击以使它们成为活动窗口。
到目前为止我的检查:
- 我试过
makeKeyAndOrderFront:
了,但这没有任何区别。 - NIB 中的文件所有者设置为窗口对应的控制器类。
- 在 Debugger 中可以看到,每个控制器的实例其实就是对应窗口的所有者。
- NSThread 建议的解决方案不会使窗口键窗口。
- 尽管窗口是 NSWindow 的一个实例,但该方法
canBecomeKeyWindow
返回。NO
- 该窗口有一个标题栏并且可以调整大小。
我需要做什么才能显示处于活动状态的后续窗口?
编辑:
我NSWindow
使用SecondaryWindow
并重写canBecomeKeyWindow
为 return YES
。我更改为 XIB 以使用新创建的NSWindow
. 使用调试器单步执行代码,但窗口仍然没有成为关键窗口。