My Core Animation block isn't working as I'd expect
Posted
by Alex Reynolds
on Stack Overflow
See other posts from Stack Overflow
or by Alex Reynolds
Published on 2010-04-29T04:30:03Z
Indexed on
2010/04/29
4:37 UTC
Read the original article
Hit count: 420
I have a UIView
called activityView
, which contains two subviews activityIndicator
and cancelOperationsButton
. These views are embedded in a XIB and wired up to my view controller.
I have two methods that deal with activating (showing) and deactivating (hiding) these two subviews:
- (void) enableActivityIndicator {
[activityIndicator startAnimating];
[cancelOperationsButton setHidden:NO];
}
- (void) disableActivityIndicator {
[activityIndicator stopAnimating];
[cancelOperationsButton setHidden:YES];
}
By themselves, these two methods work fine.
To give this a bit of polish, I'd like to add an animation that fades these subviews in and out:
- (void) enableActivityIndicator {
[activityIndicator startAnimating];
[cancelOperationsButton setHidden:NO];
[UIView beginAnimations:@"fadeIn" context:nil];
[UIView setAnimationDelay:0.0f];
[UIView setAnimationDuration:1.0f];
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
activityView.alpha = 1.0f;
[UIView commitAnimations];
}
- (void) disableActivityIndicator {
[UIView beginAnimations:@"fadeOut" context:nil];
[UIView setAnimationDelay:0.0f];
[UIView setAnimationDuration:1.0f];
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
activityView.alpha = 0.0f;
[UIView commitAnimations];
[activityIndicator stopAnimating];
[cancelOperationsButton setHidden:YES];
}
But the animations are not working — the subviews just show up or disappear without the parent view's alpha
property having an effect on transparency.
How should I write these methods to get the fade-in, fade-out effect I am after?
© Stack Overflow or respective owner