我正在为 Mac OS 编写一个小型 Cocoa 应用程序,我的目标是显示一个窗口,然后读取屏幕上的像素。我已经知道如何执行后一部分,但在继续之前无法显示窗口。据我所知,窗口更新(例如由 NSWindow 的 makeKeyAndOrderFront 触发的窗口更新)被推迟了。
我对 Cocoa 还比较陌生,但我基本上想做这样的事情:
[myWindow makeKeyAndOrderFront:self];
// application blocks right here until the window is actually shown
...
那么我如何才能实现阻塞操作呢?
最佳答案
也许您可以从窗口而不是屏幕获取像素?在 Mac OS X 上,(几乎)每个窗口都有自己的缓冲区(后备存储),无论它是否可见。即使系统对话框遮挡了窗口所在的屏幕区域,这也将确保您的测试能够正常工作。
关于cocoa - 同步调用 NSWindow makeKeyAndOrderFront,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6822883/