Как работают блоки анимации iOS?

В iOS вы можете анимировать объекты вида с помощью блоков анимации:

[UIView animateWithDuration:1.0 animations:^{

        firstView.alpha = 0.0;

        secondView.alpha = 1.0;

}];

Здесь у нас есть блок кода, описывающий, какие свойства представления в конечном итоге будут обрабатываться после завершения анимации.

Как это работает?

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

Выполняется ли блок на самом деле (или каким-то образом реконструирован -), и если да, то когда?

Если этот код выполняется до начала анимации, то почему изменения в свойствах представления, на которые ссылаются, не отражаются немедленно?

Что произойдет, если я поставлю в блок код, который не меняет свойства представления, а делает что-то другое?

8
задан Thilo 13 July 2012 в 08:54
поделиться