Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

UIView animations canceling any touch input?

Tags:

I have a UIScrollView here where I'm adding displaying a label in the middle of the screen when the user has scrolled to a page, the problem is that while the animation is going the user can't scroll to the next page (all user interaction seem to be disabled) until the animation is over.

Here's my code for displaying the label.

if(!scrollView.dragging)
    [UIView animateWithDuration:0.3
                          delay:0.3
                        options:UIViewAnimationOptionCurveEaseOut
                     animations:^(void){
                         [vesselNameLabel setFrame:frame];
                     }
                     completion:^(BOOL finished){}];

So how would I get out of this canceling user interaction on the scrollview?

like image 969
Christian A. Strømmen Avatar asked May 07 '11 12:05

Christian A. Strømmen


1 Answers

Okay, so I figured this out.

Turns out UIView's block animation by default blocks user interaction, and to get around it you need to pass UIViewAnimationOptionAllowUserInteraction as one of the options. Hopefully someone else will have some use of this information as well.

like image 122
Christian A. Strømmen Avatar answered Oct 07 '22 17:10

Christian A. Strømmen