如何将Cocoa co-ords从左上角==原点转换为左下角== origin

Ste*_*eod 9 cocoa objective-c nswindow

我使用CGWindowListCopyWindowInfo来获取所有窗口的列表.它根据原点是屏幕的左上角给出了每个窗口的坐标.

如果我使用NSWindow的SETFRAME方法,对基于原点作为该坐标左下角的画面.

什么是从一个转换为另一个的干净,可靠的方式?

补充:干净可靠,我的意思是,无论用户有多个屏幕还是正在使用Spaces,都能确保工作正常.我认为必须有一个使用库API的已知习语.

Ily*_*man 11

数学非常可靠:-)

yFromBottom = screenHeight - windowHeight - yFromTop
Run Code Online (Sandbox Code Playgroud)

主屏高度为

[[[NSScreen screens] objectAtIndex:0] frame].size.height
Run Code Online (Sandbox Code Playgroud)