在OS X中打开和创建窗口

3
我该如何在Cocoa中从单击事件打开nib文件?我创建了2个nib文件:mainmenu(默认)和我的customWindow。现在,我想要的是当我从mainmenu nib文件中单击某个按钮时,它会触发打开我的customWindow。应该如何完成?
4个回答

4

如果您正在使用窗口控制器,请尝试以下代码:

NSWindowController* yourWindowController = [[NSWindowController alloc] initWithWindowNibName:@"YourXIBName"];
[yourWindowController showWindow:self]

以下是一种使用代码执行此操作的通用方法:

loadNibNamed:owner:


请注意,保留HTML标记。

1
你应该调用[yourWindowController showWindow:self],这就是它的作用。 - Rob Keniger
它不起作用。窗口只是闪烁(在一秒钟内打开和关闭)@RobKeniger Miraaj - Vikas Bansal
你需要保留窗口控制器,否则它会被释放。你需要将控制器的引用存储为属性或实例变量。 - Rob Keniger
有些尴尬,但我还是要问一下... 我在哪里可以找到我的XIB名称? - maxisme

3
如果您能将两个窗口放在同一个nib文件中,您可以控制拖动按钮到您想要打开的窗口,选择“makeKeyAndOrderFront”,然后在属性检查器中取消“Release When Closed”和“Visible At Launch”复选框的选择,保留HTML标记。
但是,认真阅读“视图编程指南”。它会使生活变得更简单。

2

Nib文件是视图的可视化表示,它与你代码中的对象相连接。从基础开始学习,阅读《视图编程指南》


也许这个答案应该链接到OS X部分,而不是iOS指南。 - Rob van der Veer

2
您可以将菜单按钮的点击链接到应用程序委托中的IBAction,从而调用。
[NSBundle loadNibNamed:"myNib" withDelegate:self];

我不确定是否正确,但请查看NSBundle的文档。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接