我的应用程序中有 5 个不同的窗口同时在屏幕上。在我使用该应用程序一段时间后,它们有时会散布在屏幕上,这真的让我很困扰。所以我想做一个动作,在调用这个动作的任何时候,将所有这些窗口定位到屏幕上的特定位置。
有谁知道如何将这些窗口组合在一起并“记住”它们的特定位置?!
行动前
应用操作后
我的应用程序中有 5 个不同的窗口同时在屏幕上。在我使用该应用程序一段时间后,它们有时会散布在屏幕上,这真的让我很困扰。所以我想做一个动作,在调用这个动作的任何时候,将所有这些窗口定位到屏幕上的特定位置。
有谁知道如何将这些窗口组合在一起并“记住”它们的特定位置?!
行动前
应用操作后
IIRC,Xcode (3.X)曾经有这个功能,允许用户以大致相同的方式将窗口平铺在彼此之上。
无论如何,NSApplication 有一个windows
API(或orderedWindows
)允许您获取所有应用程序窗口的数组。您可以遍历这个窗口数组并根据屏幕大小(您应该能够通过NSScreen API获得,包括frame
,它给出了实际的屏幕大小),您可以为自己的窗口实现平铺窗口功能。
最性感的“平铺”功能将动画移动窗口,您可以通过NSWindow 的 [ setFrame: display: animate:
] 方法来实现。