在Cocoa应用程序中管理多个非文档窗口
我有一个应用程序需要打开和跟踪多个窗口。新窗口是响应文件>新建窗口命令而创建的,并且是以编程方式创建的(没有故事板或XIB) 没有涉及文档,所以我不希望Xcode中基于文档的应用程序附带任何文件操作、修改的状态跟踪或其他与文档相关的功能。我确实希望能够层叠新窗口,并记住所有打开窗口的大小和位置,以便在应用程序启动时可以恢复这些窗口 跟踪打开的窗口很容易,有很多例子。我可以设置自动保存名称,但这似乎只适用于创建的第一个窗口。似乎只适用于基于文档的应用程序在Cocoa应用程序中管理多个非文档窗口,cocoa,nswindowcontroller,Cocoa,Nswindowcontroller,我有一个应用程序需要打开和跟踪多个窗口。新窗口是响应文件>新建窗口命令而创建的,并且是以编程方式创建的(没有故事板或XIB) 没有涉及文档,所以我不希望Xcode中基于文档的应用程序附带任何文件操作、修改的状态跟踪或其他与文档相关的功能。我确实希望能够层叠新窗口,并记住所有打开窗口的大小和位置,以便在应用程序启动时可以恢复这些窗口 跟踪打开的窗口很容易,有很多例子。我可以设置自动保存名称,但这似乎只适用于创建的第一个窗口。似乎只适用于基于文档的应用程序 我是否必须自己实现级联和几何持久性,或者是
我是否必须自己实现级联和几何持久性,或者是否有某种方法来连接这些特性?谢谢 showWindow:中的NSWindowController检查现有documentcontroller是正确的。但是,如果使用一些自定义代码覆盖showWindow,则会得到相同的行为。使用方法setFrameTopLeftPoint:和cascadeTopLeftFromPoint:。如果您从编码器还原窗口(在没有nsdocumentcontroller的情况下自动工作),则应将CascadeWindows设置为“是”。这是一个固定的窗口数还是用户正在打开新窗口?如何实例化新窗口(故事板,xib)?应用程序启动时是否恢复了windows?我用这些信息更新了问题。请查看
cascadeTopLeftFromPoint:
。windows是否可恢复
?showWindow中的NSWindowController:检查现有documentcontroller是正确的。但是,如果使用一些自定义代码覆盖showWindow,则会得到相同的行为。使用方法setFrameTopLeftPoint:和cascadeTopLeftFromPoint:。如果您从编码器还原窗口(在没有nsdocumentcontroller的情况下自动工作),则应将CascadeWindows设置为“是”。这是一个固定的窗口数还是用户正在打开新窗口?如何实例化新窗口(故事板,xib)?应用程序启动时是否恢复了windows?我用这些信息更新了问题。请查看cascadeTopLeftFromPoint:
。windows可恢复吗?