我将NSWindow的自定义子类的childWindow添加到parentWindow(也是NSWindow的自定义子类).childWindow有NSBorderlessWindowMask和canBecomeKeyWindow:被重写以返回YES并且canBecomeMainWindow:返回NO.
childWindow设置为使用parentWindow调整大小.所以我想创建一个错觉,即childWindow的视图是parentWindow的一部分.主要思想是将基于文档的应用程序创建的文档窗口排列在主窗口中,以提供标签界面(就像在浏览器中一样)以在文档之间切换.
我的问题是每当我点击childWindow的一个视图时,parentWindow(主窗口)失去焦点,交通灯按钮变灰.这显然与我想要达到的目标背道而驰.
我找到了这个答案: 在没有关键窗口状态的NSPanel第一响应者中创建NSView
但即使我重写isKeyWindow :(主窗口)总是返回YES,但是当我点击childWindow时,标题栏会变灰.
我也尝试遵循这个建议:http: //www.cocoabuilder.com/archive/cocoa/143945-non-focused-child-window.html
但我不确定"在其nextResponder之前的响应链中包含子窗口"是什么意思.使用canBecomeKeyWindow:返回NO(对于childWindow),子节点内的视图永远不会成为键并且始终显示为灰色.
我有什么问题吗?
一个补充:是否可以在不给出childWindow键状态的情况下在childWindow FirstResponder中创建视图?