相关疑难解决方法(0)

允许childWindow中的视图成为键,而不会失去对parentWindow的关注

我将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中创建视图?

cocoa focus childwindow nswindow nsresponder

5
推荐指数
1
解决办法
1488
查看次数

标签 统计

childwindow ×1

cocoa ×1

focus ×1

nsresponder ×1

nswindow ×1