2010-10-13 4 views
1

Я пытаюсь задержать эту анимацию на 60 секунд и выполнить 125 секунд, чтобы завершить цикл анимации. затем повторяйте бесконечно. проблема в том, что задержка длится 20 секунд. Есть ли ограничение на задержку, которую вы можете указать? или, возможно, лучший способ сделать то, что я пытаюсь?Проблема с задержкой анимации iPhone

вот мой код:

- (void)firstAnimation {   

NSArray *myImages = [NSArray arrayWithObjects: 
                [UIImage imageNamed:@"f1.png"], 
                [UIImage imageNamed:@"f2.png"], 
                [UIImage imageNamed:@"f3.png"], 
                [UIImage imageNamed:@"f4.png"], 
                nil]; 

UIImageView *myAnimatedView = [UIImageView alloc]; 
[myAnimatedView initWithFrame:CGRectMake(0, 0, 320, 400)]; 
myAnimatedView.animationImages = myImages; 

[UIView setAnimationDelay:60.0]; 
myAnimatedView.animationDuration = 125.0; 

myAnimatedView.animationRepeatCount = 0; // 0 = loops forever 

[myAnimatedView startAnimating]; 

[self.view addSubview:myAnimatedView]; 
[self.view sendSubviewToBack:myAnimatedView]; 

[myAnimatedView release]; 
} 

спасибо за любую помощь.

ответ

3

Вы используете метод setAnimationDelay неправильно.

setAnimationDelay предназначен для использования при анимации изменения свойств Animatable на представления в пределах UIViewAnimations блока, как так:

[UIView beginAnimations:nil context:nil]; 
[UIView setAnimationDelay:60]; 
//change an animatable property, such as a frame or alpha property 
[UIView commitAnimations]; 

Этот код будет задерживать анимацию изменения свойств на 60 секунд.

Если вы хотите отложить UIImageView от анимации своих изображений, вам необходимо использовать NSTimer.

[NSTimer scheduledTimerWithTimeInterval:60 
           target:self selector:@selector(startAnimations:) 
           userInfo:nil 
           repeats:NO]; 

Затем определяют селектор startAnimations:, например, так:

- (void)startAnimations:(NSTimer *)timer 
{ 
    [myAnimatedView startAnimating]; 
} 

Таким образом, через 60 секунд, таймер будет срабатывать метод startAnimations: который будет начать свой вид изображения анимировать.

Смежные вопросы