скорость анимации отличается от beginAnimations и использует блок анимации
Я пытаюсь преобразовать некоторый код анимации, который использует 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];
Это то, что я пытался сначала заменить то, что у меня было выше. Используя этот код, анимация намного быстрее, чем при использовании исходного кода. Даже изменение продолжительности не изменяет скорость вообще:
- Общесистемное моделирование кранов на iOS
- Найти доступные wi-fi сети
- Горячие клавиши в iOS?
- Проблема с UITextFieldDelegate
- AVURLAsset отказывается загружать видео
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];
Кодекс все делает то же самое? Я просто пропустил что-то очень простое здесь? Я думал, что увеличение продолжительности заставит птицу пойти медленнее и уменьшится, это ускорит ее, но, похоже, она не имеет никакого влияния при изменении ее с использованием блоков.
Любые рекомендации будут оценены.
Благодарю.
Аарон
- Событие iOS 7 onchange нарушено в iPad 3 + Mini // Нужна работа вокруг
- UITableView не имеет прокрутки
- Что делает кнопка «Использовать для развития» в Xcode Organizer для устройства iOS?
- Двухканальная запись на iPhone / iPad: гарнитура + встроенный микрофон
- iOS: анимация Неправильная ориентация в rootViewController?
- Проблема с размером кадра UIView
- UIView не масштабируется до сетчатки iPad
- (null) не может запустить armv7f в Xcode 6.3.1
Если ваш блок анимации встречается внутри другого блока анимации, -animateWithDuration:animations:
наследует продолжительность внешнего блока. Попробуйте добавить UIViewAnimationOptionOverrideInheritedDuration
в список опций (и, возможно, UIViewAnimationOptionOverrideInheritedCurve
если вам тоже нужно переопределить кривую).