Я хочу анимировать, фактически исчезать, «внутри» drawRect

Есть ли способ заставить drawRect анимировать ИЗ ПРЕДЫДУЩЕЙ СЦЕНЫ в следующую?

(Удивительно) вы можете анимировать внутри drawRect - попробуйте. Вы можете затухать, переводить или анимировать любое другое свойство.

Однако оно начинается «с нуля», с нуля. Так, например, если вы поместите блок плавной анимации в drawRect, предыдущая сцена с исчезновением и новая сцена будет исчезать с белого.

Я хочу, чтобы экран исчез от предыдущего изображения (нарисованного в предыдущем цикле drawRect) до нового изображения, которое я только что нарисовал ... эээ, я рисую.

Есть ли способ сделать это, возможно, хитроумно, манипулируя тем, что происходит, с помощью drawRect?

Это может показаться очень распространенным вариантом использования - смешивание одной сцены с другой ].

Кто-нибудь знает секрет?

Конечно, очевидно, что это можно сделать в среде основной анимации или многими другими способами, но переход drawRect от одного drawRect к другому - очевидная идея. Ура.

Поразительное обновление благодаря гению WrightCS .....

Только благодаря WrightCS мы теперь знаем, что drawRect отлично справляется с анимацией. Просто вставьте этот код в конец любого drawRect и попробуйте его:

self.alpha = 0.0;
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:2];
self.alpha = 1.0;
[UIView commitAnimations];

он обрабатывает весь drawRect, независимо от его сложности, как один огромный блок и включает его в эту анимацию. Да, он даже включает закрашивание внеэкранных областей, рендеринг растровых изображений или что-то еще. Все оживляется. Кто знал?

Проблема - как заставить анимацию запускать с предыдущей сцены, а не с пустой?

8
задан STW 7 August 2013 в 13:46
поделиться