Я пытаюсь преобразовать код анимации, который использует beginAnimations, для использования блоков анимации. Проблема, с которой я сталкиваюсь, заключается в том, что когда я использую блоки анимации, анимация идет намного быстрее, и я не могу отрегулировать скорость, изменяя значение длительности
Это то, с чего я начал изначально:
birdFly.image = [UIImage imageNamed: @"bird1.png"];
[self.view addSubview:birdFly];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:20];
birdFly.frame = CGRectMake(-1116,27,111,48);
[UIView commitAnimations];
[birdFly release];
Это то, что я сначала попытался заменить тем, что у меня было выше. При использовании этого кода анимация выполняется намного быстрее, чем при использовании исходного кода. Кажется, даже изменение продолжительности не меняет скорости вообще:
birdFly.image = [UIImage imageNamed: @"bird1.png"];
[self.view addSubview:birdFly];
[UIView animateWithDuration:20
animations:^{
birdFly.frame = CGRectMake(-1116,27,111,48);
}];
Я тоже попробовал это, думая, что мне нужен блок завершения, но скорость все равно была такой же быстрой по сравнению с тем, что было у меня изначально, когда я не использовал блоки.
birdFly.image = [UIImage imageNamed: @"bird1.png"];
[self.view addSubview:birdFly];
UIViewAnimationOptions options = UIViewAnimationOptionCurveEaseInOut | UIViewAnimationOptionAllowUserInteraction;
[UIView animateWithDuration:20 delay:0.0 options:options animations:^
{
birdFly.frame = CGRectMake(-1116,27,111,48);
} completion:nil];
Код все делает одно и то же? Я просто что-то упускаю здесь очень просто? Я думал, что увеличение продолжительности сделает птицу медленнее, а уменьшение - быстрее, но, похоже, это никак не повлияет на изменение ее с помощью блоков.
Любое руководство будет оценено.
Спасибо.
Aaron