我有一个 NSWindowController 的子类,我用它从笔尖加载窗口并将其显示在屏幕上。下面是当我想显示窗口时调用的代码。在 10.6 上,当调用 showCustomWindow 时,会显示窗口,但在 10.5 上,必须调用此方法两次才能显示窗口。
-(IBAction)showCustomWindow:(id)sender
{
if(!windowController){
windowController = [[MyWindowController alloc] initWithWindowNibName:@"MyWindow"];
}
[windowController showWindow:self];
}
该窗口已选中“启动时可见”,取消选中它似乎没有什么区别。
Edit:我意识到我遇到的问题与我的 NSWindowController 或 showWindow 无关。我已经正确设置了。然而我确实发现并非所有类都实现 awakeFromNib。在我的一个 NSView 子类中(在我试图加载的笔尖中),我调用 [super awakeFromNib] ,它给了我一个“不响应选择器”(但仅在 10.5 上,这很奇怪)。所以,我本可以直接取出 [super awakeFromNib] 但我选择了希望更强大的:
if([NSView instancesRespondToSelector:@selector(awakeFromNib)]) {
[super awakeFromNib];
}
这使得我的笔尖能够正常加载并且 showWindow 能够正常工作。
如果您想使用,则应取消选中“启动时可见”-showWindow:
控制该窗口可见性的时间。
其他一切seems根据您向我们展示的内容,这只是一个猜测,但是您是否忘记连接window
文件所有者对象上的出口到笔尖中的窗口?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)