繁体   English   中英

基于NSDocument的应用程序窗口位置

[英]NSDocument-based app window position

我的Xcode基于NSDocument的应用程序包含一个浮动面板。 每次启动该应用程序时,默认文档窗口和面板将出现在屏幕上的先前位置。 但是,如果我保存文档并退出应用程序,然后双击保存的文件,则文档窗口的位置与面板的原点相同。

关闭级联可以解决问题,但是我当然会失去级联。

可以在此处下载显示此问题的最小Xcode示例。

  1. 运行示例项目。
  2. 做一个文件/保存。
  3. 退出应用程序。 <<重要
  4. 双击保存的文件。

任何帮助表示赞赏。

如果要在应用终止之前存储窗口状态,请尝试以下操作:

- (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender
{
    // If you want to save your window position
    // you can use  [window saveFrameUsingName:@"someWindowName"];
    //
    // then use [window setFrameAutosaveName:@"someWindowName"]; at the app launch.

    return NSTerminateNow;
}

我知道这与面板上级联的文档窗口有关。 将此添加到面板控制器似乎已修复它

- (void)windowDidLoad { [super windowDidLoad]; [self setShouldCascadeWindows:NO]; }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM