【问题标题】:How to group several windows together and place them into particular location on the screen?如何将多个窗口组合在一起并将它们放置在屏幕上的特定位置?
【发布时间】:2013-05-16 18:03:02
【问题描述】:

我的应用中有 5 个不同的窗口同时出现在屏幕上。在我使用该应用程序一段时间后,它们有时会散布在屏幕上,这真的让我很困扰。所以我想做一个动作,在调用这个动作的任何时候,将所有这些窗口定位到屏幕上的特定位置。

有谁知道如何将这些窗口组合在一起并“记住”它们的特定位置?!

行动之前

应用操作后

【问题讨论】:

    标签: objective-c macos cocoa nswindow


    【解决方案1】:

    IIRC、Xcode (3.X)使用拥有允许用户以大致相同的方式将窗口平铺在彼此之上的功能。

    无论如何,NSApplication has a windows API(或orderedWindows)允许您获取所有应用程序窗口的数组。您可以遍历这个窗口数组并根据屏幕大小(您应该能够通过NSScreen API's 获得,包括frame,它给出了实际的屏幕大小),您可以为自己的窗口实现平铺窗口功能。

    最性感的“平铺”功能会以动画方式移动窗口,您可以通过NSWindow's [setFrame: display: animate:] method 来实现。

    【讨论】:

    • 谢谢迈克尔!很棒的答案!
    猜你喜欢
    • 2019-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-23
    • 1970-01-01
    • 1970-01-01
    • 2017-12-26
    • 1970-01-01
    相关资源
    最近更新 更多