我正在尝试在 OS X 应用程序的主窗口底部添加一个辅助窗口,希望最终能在按下切换按钮时从窗口下方动画出来。据我所知,使用 SDK 执行此操作的最佳方法是使用- [NSWindow addChildWindow:ordered:]
. 但是,当我调用该函数时,虽然显示了辅助窗口,但它并未添加为子窗口。这是我按下按钮时调用的函数:
- (IBAction)childToggleButtonPressed:(id)sender {
[self.window addChildWindow:_secondaryWindowController.window ordered:NSWindowBelow];
NSLog(@"Child Windows: %@", [[self.window childWindows] count]);
}
(我还没有添加代码来关闭它,因为我要确保它首先出现。)
这是控制台的输出:
2011-08-31 12:37:25.312 Playground[1712:707] Child Windows: (null)
有谁知道为什么窗口没有被添加为孩子以及我能做些什么来解决这个问题?
一些可能有帮助的额外上下文是,我正在使用图像作为窗口本身和标题栏的背景来绘制自定义窗口。我正在修改的代码可以在http://cocoawithlove.com/2008/12/drawing-custom-window-on-mac-os-x.html找到。
谢谢!
编辑:我尝试覆盖- [NSWindow addChildWindow:ordered:]
函数并记录我能找到的任何信息,结果发现窗口本身没有传递给函数。希望这将帮助某人找出问题所在!