I have this code in my project:
- (void) fadeImageView {
[UIView animateWithDuration:1.0f
delay:0
options:
First of all you have to add UIViewAnimationOptionAllowUserInteraction to option like..
- (void) fadeImageView {
[UIView animateWithDuration:1.0f
delay:0
options:UIViewAnimationCurveEaseInOut | UIViewAnimationOptionAllowUserInteraction
animations:^{
self.imageView.alpha = 0.0f;
}
completion:^(BOOL finished) {
//make the image view un-tappable.
//if the fade was canceled, set the alpha to 1.0
}];
}
and then make a method like this....
-(void)stopAnimation {
[self.routeView.layer removeAllAnimations];
}
after that when you want to remove your animation call above method using .....
[self performSelectorOnMainThread:@selector(stopAnimation) withObject:nil waitUntilDone:YES];
Hope it will help you
Happy coding.........!!!!!!!!!!!! :)
EDIT:
Thanks user1244109 to guide me for this.
For iOS7 we have to add one more option UIViewAnimationOptionBeginFromCurrentState
like:
[UIView animateWithDuration:1.0f
delay:0
options:UIViewAnimationCurveEaseInOut | UIViewAnimationOptionAllowUserInteraction | UIViewAnimationOptionBeginFromCurrentState
animations:^{
self.imageView.alpha = 0.0f;
}
completion:^(BOOL finished) {
//make the image view un-tappable.
//if the fade was canceled, set the alpha to 1.0
}];