我有兩種修改屏幕顯示的方法。有沒有辦法凍結屏幕,直到第二個方法被調用?凍結Cocoa中的OS X屏幕
// I want to freeze the screen here
updateDisplay1(); // Change in display doesn't take effect until screen is unfrozen
updateDisplay2();
// Unfreeze screen here
在Excel VBA中,這將會像screenUpdating = FALSE。 Cocoa中是否有類似的功能?
一種可能的方式是採取截圖:
// Take screenshot of the screen
// Display the screenshot image in front of the screen
updateDisplay1(); // Change is not visible
updateDisplay2();
// Remove screenshot image
但是這恐怕是緩慢的,佔用了大量的內存。有沒有更有效的方法?
您的主題令人困惑和誤導。如果您說'屏幕顯示',那麼您應該會想到您正在談論顯示器屏幕。 –
我的英語不太好,對不起。但是我的問題很容易理解,不是嗎?我只想知道如何凍結屏幕上顯示的內容。 – user5498580
有一個函數'NSDisableScreenUpdates',但它只適用於你的進程擁有的窗口。因此,如果您使用輔助功能來控制另一個進程,那將無法工作。 – JWWalker