簡體   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