2009-12-14 1 views
0

Я новичок в кодировании объектива c на iPhone. Я использую ниже код в отдельной функции, чтобы начать анимацию.как перезапустить анимацию UIView

[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDuration:10.0]; 
object.transform = CGAffineTransformMakeRotation(1.57); 
[UIView commitAnimations]; 

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

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

ответ

0

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

Итак, когда вы говорите, что хотите сбросить анимацию, вы хотите, чтобы вы вернулись к началу или просто сделали что-то другое? Если первое, я считаю, вам просто нужно установить свойства (в данном случае ваше преобразование) обратно к его первоначальным настройкам и запустить новый блок анимации.

+0

В приведенном выше коде анимация займет 10 секунд. После всего лишь 5 секунд мне нужно увеличить скорость анимации. Это мое беспокойство. – user229554

+0

Это должно быть прямолинейно. Начните новую анимацию с тем же преобразованием, но сократите продолжительность. Например. через 5 секунд запустите новую анимацию, чтобы работать более 2 секунд. – philsquared