2013-10-29 84 views
1

是否有一种方法可以在基于非文档的应用程序中使用“command + n”创建/启用多个窗口?我想要使​​用命令+ n如何在基于非文档的应用程序中使用“command + n”创建多个窗口

无限制地使用该窗口的实例(实际上并不是无限的,但可能是6-7个实例)或者我必须创建一个基于文档的应用程序,并将所有我的代码移植到新项目模板中解决方案

我可以看到“新建”菜单按钮现在被禁用。

回答

1

的几种方法。 首先将新菜单项连接到IBAction方法。 无论对你有意义,都要命名该方法。

接下来,您将需要向控制器添加某种属性(为简单起见,应用程序委托),它基本上是仅存储对每个窗口或窗口控制器的引用的窗口堆栈。 NSMutableArray应该做得很好。

现在,您可以通过几种方法来完成下一部分,但我会建议使用nib/xib创建NSWindowController子类(特别是如果这些窗口在其中具有相同的基本功能)。 做你想在笔尖文件。

现在在您的IBAction方法中,创建一个新的窗口控制器类实例,将其添加到您的可变数组中。告诉它加载它的窗口。

您只需决定是否应从堆栈中移除控制器,并在其窗口关闭时将其设置为零。 许多方法来处理,并根据您的设计知道什么是正确的。

0

试试这个: - 要做到这一点

NSWindowController *yourWindow=[[[[yourWindowController alloc]init]retain]autorelease]; 
[yourWindow loadWindow]; 
+0

我将如何1)使用此创建无限数量的窗口? 2)如何附加此代码使用命令+ n 我已经尝试过创建一个新窗口但不是无限制 – Saurabh

+0

您可以在此处粘贴您的代码? –

+0

你的Windows控制器类的Bazically iniside实现这个 - (NSString *)windowNibName –

相关问题