2015/07/24

Windowの位置とサイズを前回終了時の状態にする

アプリケーション終了時のウィンドウのサイズと位置を覚えておいて、次回起動時にはその場所に同じ大きさで表示する。

  • 自動セーブ
  • Storyboard で状態を保存しておきたい Window の Autosave に名前を入れる。

    windowAutosave

    以下のコードを追加。

    
    
    
    	[self.window setFrameAutosaveName:@"mainWindow"]; 
    
    
    
    

  • マニュアルセーブ
  • ・セーブ

    
    - (void)viewWillDisappear
    
    {
    
        [self.splitView.window saveFrameUsingName:@"mainWindowM"];
    
    }
    
    

    ・ロード

    
    - (void)windowDidLoad {
    
        [super windowDidLoad];
    
        [self.window setFrameFromString:@"mainWindowM"];
    
    }
    
    

  • NSWindowController で使う
  • NSWindow と同時に使うと予想外の動作をする。

    
    - (void)windowDidLoad {
    
        [super windowDidLoad];
    
        
    
        [self.window.windowController setWindowFrameAutosaveName:@"mainWindowM"];
    
    }