在Objective-C中确定屏幕位置(NSScreen)

时间:2010-03-13 00:01:45

标签: objective-c position

使用[NSScreen屏幕]我能够获得连接到计算机的所有屏幕及其大小,但是我试图找出它们相对于彼此的位置(例如在显示首选项中的排列中)。有没有办法做到这一点?我已经在线查看了Apple开发者网站上的课程参考资料,但一无所获。谢谢。

2 个答案:

答案 0 :(得分:5)

对于[NSScreen screens]返回的每个屏幕,您可以致电:

[screen frame]

获取包含每个屏幕的NSRectsize的{​​{1}}。 “主”屏幕(即带有菜单栏的屏幕)将具有偏移offset

这应该比处理(0, 0)简单得多。

答案 1 :(得分:4)

啊哈!我正在浏览API并发现如何做到这一点。如果您获得了NSScreen的-deviceDescription,则可以获得CGDirectDisplayID。从那里,您可以使用ApplicationServices中的Quartz Display Services获取CGDisplayBounds,它显示相对于所有屏幕的显示大小和位置。