use*_*859 0 macos xcode cocoa objective-c nswindow
要保存一个(主)监视器的窗口位置我正在使用此代码:
[[win windowController] setShouldCascadeWindows:NO];
[win setFrameAutosaveName:@"My App"];
Run Code Online (Sandbox Code Playgroud)
它工作正常.但是,如果我连接第二台显示器并将我的应用程序窗口拖到第二台显示器,则cocoa自动保存不起作用 - 重新启动后,窗口始终位于主(主)监视器上.有任何想法吗?谢谢!
为您的应用启用还原:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
[[NSUserDefaults standardUserDefaults] setObject:@YES forKey:@"NSQuitAlwaysKeepsWindows"];
}
Run Code Online (Sandbox Code Playgroud)
在Interface Builder中将窗口设置为可恢复
还要确保在关闭时不要调用invalidate.它只是承诺 - >你可能会以删除状态结束应用程序
[self.window invalidateRestorableState];
Run Code Online (Sandbox Code Playgroud)
验证/调试检查"〜/ Library/Saved Application State/yourbundleidentifier"的内容是否在重启后仍然存在.
| 归档时间: |
|
| 查看次数: |
975 次 |
| 最近记录: |