Анимация с контролем повторного использования

Мне нужно анимировать элементы управления, перемещая их по оси x от x до x-1000.

Мое представление контейнера имеет ширину 200 пикселей, а каждый элемент управления имеет ширину 100 пикселей. Максимум 4 элемента управления (элементы управления тяжелые, и мне нужно их повторно использовать)

Поэтому, когда я анимирую элементы управления от x до x-1000, мне нужно использовать их повторно.

Поэтому, когда элемент управления 1 смещается влево, он становится невидимым и его необходимо переместить в правую часть представления контейнера.

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

Есть ли способ вызвать функцию для каждого кадра CAPropertyAnimation? Или что-то вдоль этих линий?


person krisdyson    schedule 13.02.2011    source источник


Ответы (1)


Насколько я знаю, вы не можете получить информацию о скорости из основной анимации.

Для этого вам придется накатить собственную анимацию. Установите таймер и дайте каждому представлению xVelocity. Каждый раз, когда срабатывает таймер, настраивайте xVelocity всех объектов (вы можете применить к нему кривую синусоиды, чтобы придать ему эффект легкости/затухания). Затем измените центральную точку всех объектов.

person TigerCoding    schedule 13.02.2011