使用[NSScreen屏幕]我能够获得连接到计算机的所有屏幕及其大小,但是我试图找出它们相对于彼此的位置(例如在显示首选项中的排列中)。有没有办法做到这一点?我已经在线查看了Apple开发者网站上的课程参考资料,但一无所获。谢谢。
答案 0 :(得分:5)
对于[NSScreen screens]
返回的每个屏幕,您可以致电:
[screen frame]
获取包含每个屏幕的NSRect
和size
的{{1}}。 “主”屏幕(即带有菜单栏的屏幕)将具有偏移offset
。
这应该比处理(0, 0)
简单得多。
答案 1 :(得分:4)
啊哈!我正在浏览API并发现如何做到这一点。如果您获得了NSScreen的-deviceDescription
,则可以获得CGDirectDisplayID
。从那里,您可以使用ApplicationServices中的Quartz Display Services获取CGDisplayBounds
,它显示相对于所有屏幕的显示大小和位置。