Is there a method to detect when an animation is finished? I want to call [nav setTitle:navItem]
when the animation is finished.
Here below is a snippet of my code. Hope the question is clear enough, so I can get a solution, and preferably an example.
-(void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event{
if(event.subtype == UIEventSubtypeMotionShake){
NSString *imageUrl = @"";
NSString *navItem = @"";
int randomNumber = arc4random() % 3;
switch (randomNumber) {
case 0:
imageUrl = @"pic1.png";
navItem = @"txt1";
break;
case 1:
imageUrl = @"pic2.png";
navItem = @"txt2";
break;
case 2:
imageUrl = @"pic3.png";
navItem = @"txt3";
break;
default:
break;
}
animation.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed:@"pic1.png"],
[UIImage imageNamed:@"pic3.png"],
[UIImage imageNamed:@"pic2.png"],
[UIImage imageNamed:@"pic1.png"],
[UIImage imageNamed:@"pic2.png"],
[UIImage imageNamed:@"pic3.png"],
[UIImage imageNamed:imageUrl],
nil];
UIImage *img = [UIImage imageNamed:imageUrl];
[imageview setImage:img];
[animation setAnimationRepeatCount:1];
animation.animationDuration = 1;
[animation startAnimating];
[nav setTitle:navItem];
}
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…