NSDocument - 为 window 设置合理的起始位置

NSDocument - setting a reasonable starting location for the window

我正在 Swift 基于文档的应用程序中使用最新的 NSDocument。有点奇怪的是,新 window 的起始位置靠近屏幕底部。

稍微玩一下 Storyboard,不清楚如何使用内置设置来做出合理的 "near the top" 选择 - 设置从底部向上移动,而不是从顶部向下移动,所以位置会根据屏幕尺寸改变?

我假设有一个我可以挂钩的位置机制,但它在提供的 shell 代码中并不明显。有什么提示吗?

OS 与 iOS 相比,X 坐标系被翻转。所以 0,0 是左下角。

您可以用类似的方式计算 window 的位置(任何屏幕尺寸)

  CGFloat width = NSWidth([self.window screen].frame); 
  CGFloat height = NSHeight([self.window screen].frame);
  [self.window setFrame:NSMakeRect(100, height - 100, width, height) display:YES];

最简单的方法是将初始高度设置为 900 并忘记它并启用 window 恢复 -> 这将导致打开 window 之前所在的位置,这就是用户想要的位置.

Select 你在 Storyboard 中的 window。并填充初始位置坐标