Dandan
Dandan

Reputation: 11

Show/hide a button after a period of time

I am currently making an app that has a complex loading screen. I have created the loader using UI Animation, but want to add a button that will appear once the loading bar has finished. I have come across the idea of hiding the button for a certain period of time, or making it appear after a certain period of time.

How would I show/hide the button after a period of time?

Upvotes: 1

Views: 2085

Answers (3)

Hilaj S L
Hilaj S L

Reputation: 2046

Create NSTimer to do that,

    Timer = [NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(hideButton:) userInfo:nil repeats:NO];
    -(void)hideButton:(UIButton *)hideButton {
 if hideButton.isHidden == false {
        hideButton.hidden=TRUE; 
} else {
 hideButton.hidden = FALSE 
}

Upvotes: 0

Rob
Rob

Reputation: 438232

You could invoke your method to show the button after a certain period of time:

[self performSelector:@selector(showButton) withObject:nil afterDelay:0.5];

Or, probably better, if you want to animate the appearance of the button, you can do both the animation and the delay in a single call, e.g. assuming the button originally has alpha of 0.0:

[UIView animateWithDuration:0.25
                      delay:0.5
                    options:nil
                 animations:^{
                     myButton.alpha = 1.0; 
                 }
                 completion:^(BOOL finished){
                     // if you want to do anything when animation is done, do it here
                 }
];

Upvotes: 3

jimpic
jimpic

Reputation: 5520

Using NSTimer should be the easiest way.

Upvotes: 0

Related Questions