У меня есть два метода, которые изменяют отображение экрана. Есть ли способ заморозить экран, пока не будет вызван второй метод?Замораживание 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. Есть ли аналогичная функция в какао?
Одним из возможных способов это взять скриншот:
// 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', но она работает только с окнами, принадлежащими вашему процессу. Поэтому, если вы используете Accessibility для управления другим процессом, это не сработает. – JWWalker