Мне нужно перемещать 5 изображений по экрану и выполнять переходные эффекты, такие как поворот -> при завершении анимации анимации: move (при завершении перемещения: затем повторить процесс)Как запустить несколько блоков UIAnimation в одно и то же время для заданного массива объектов?
Я могу получить 1 изображение для этого, это работает отлично.
Проблема у меня есть, мне нужно сделать это для 5 изображений; требования состоят в том, что все изображения (или изображения) нуждаются в анимации для запуска в одно и то же время.
Я использую пользовательский объект, который имеет UIImageView внутри него
-(void)stopRepeatingAnimationForView:(UIView *)view
{
self.enableRepeatingAnimation = NO;
[view.layer removeAllAnimations];
}
- (void)startRepeatingAnimationForView:(UIView *)view
{
self.enableRepeatingAnimation = YES;
[self repeatingAnimationForView:view];
}
- (void)repeatingAnimationForView:(UIView *)view
{
//VICAirplane *planeObj = [self.airplanes objectAtIndex:0];
for (VICAirplane *planeObj in self.airplanes) {
[UIView animateWithDuration:3
delay:1
options:UIViewAnimationOptionCurveLinear
animations:^{
planeObj.imageView.transform = CGAffineTransformRotate(planeObj.imageView.transform, planeObj.angleToRotate);
} completion:^(BOOL finished) {
if (finished==YES) {
[UIView animateWithDuration:5
delay:0.0
options:UIViewAnimationOptionCurveLinear
animations:^{
planeObj.imageView.center = planeObj.rotateToLocation;
} completion:^(BOOL finished) {
if (finished==YES) {
if (self.enableRepeatingAnimation)
{
CGPoint rotateToLocation = [self generateRandomLocation];
planeObj.rotateToLocation = rotateToLocation;
[self performSelector:@selector(repeatingAnimationForView:) withObject:view afterDelay:0];
}
}
}];
}
}];
} // next
}
Если удалить петлю через массив или просто сделать его 1 массив длиной анимация работает отлично.
Но если я добавляю несколько анимаций, то все равно, и они начинают терять законченное состояние и в конечном итоге делают много беспорядков.
То, что я хотел бы сделать, это:
- Loop через мои 5 изображений
- Выполните мою Rotate -> шаг -> повтор (навсегда) анимация на каждом изображении
Но Я не уверен, как заставить его работать для нескольких uiimageviews, хранящихся в массиве
Есть ли способ сделать это?
Из-за низкой репутации нельзя возвысить. Но большое спасибо! –
Рад помочь! <15 chars> – mbm29414