cocoa - 如何定位 Cocoa 窗口以尽量减少与其他窗口的重叠?

标签 cocoa nswindow heuristics window-managers nsworkspace

我正在开发一个具有主窗口和预览窗口的 Cocoa 应用程序。我希望预览窗口能够自动定位自身,以尽量减少与其他窗口的重叠 - 它绝对不应该与我的应用程序的主窗口重叠,并且应该尽量不与其他应用程序的窗口重叠。

我应该怎么做?

最佳答案

Apple 有一个名为 Son of Grab 的示例应用程序这向您展示了如何使用所有当前窗口。

CFArrayRef windowList = CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly, kCGNullWindowID); 将为您提供当前窗口。您可以询问 kCGWindowBounds 值以获取返回窗口的边界。

关于cocoa - 如何定位 Cocoa 窗口以尽量减少与其他窗口的重叠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15207711/

相关文章:

cocoa - 设置和维护 NSTableView 的第一个 SortDescriptor

objective-c - 如何居中 NSSegmentedControl

python - 是否有启发式或元启发式或优化技术的 "Hello World"示例类型基础教程

algorithm - 一星算法: using Heuristic value to act as Tie-breaker where nodes have identical F-values

objective-c - 谷歌搜索引擎 - cocoa

objective-c - 从 NSMutableArray 转换对象 - Objective c

iphone - CoreData Context 合并后如何获取对象

macos - 在非事件 NSWindow 中刷新 NSTableView

cocoa - NSWindow 和 NSTableView 单元格 View 中的文本平滑

algorithm - A* 启发式实现