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

Related posts about iphone

Related posts about core-animation