【发布时间】:2016-05-27 00:51:03
【问题描述】:
在 OS X 上,是否可以以编程方式访问缩放或最大化窗口的恢复窗口位置。
ie:在大多数 OS X 应用程序中,您可以双击标题栏来缩放它。如果再次双击它,它会恢复到之前的位置。
我希望能够获取并设置保存的位置矩形。
【问题讨论】:
-
你试过什么?有很多方法可以做到这一点(NSUserDefaults、Applescript、从 com.apple.finder.plist 中获取,等等)。另外,您打算如何触发边界的保存,以及您想要哪个位置,放大或缩小?
-
@l'L'l 我们会查看 NSWindow 和 NSWindowController 的文档。 (NSUserDefaults、Applescript 和 plist 的东西在这种情况下没有意义)。我有一个我的应用程序创建的 NSWindow - 我想要非缩放、非最大化的位置(OS X 显然有某个地方)但找不到它的 API。
-
标准且可能最有效的方法是使用
setFrameAutosaveName:developer.apple.com/library/mac/documentation/Cocoa/Conceptual/… -
@l'L'l 除了我需要比这更细粒度的控制。 (例如:我正在尝试管理多个用户可切换的窗口布局)。此外,这种方法似乎并没有保存恢复的位置。
-
@l'L'l 对不起,也许是我在 Windows 编程方面的背景导致我跨越了术语。 “恢复位置”是指非最大化/非缩放位置。当您取消缩放/取消最大化它时 OS X 将窗口重置到的位置。当 NSWindow 最大化/缩放时,OS X 会在某处保留旧框架位置的副本 - 我如何得到它?
标签: macos nswindow nswindowcontroller