The problem was that I had to enable Rasterize, which did not allow the content to be updated during the animation. The solution was to disable rasterization before the animation and enable it after the animation was completed.
The reason I didn't get rid of the rasterization is because the view is inside the tableView, and the rasterization still helps when scrolling through the View table.
self.layer.shouldRasterize = NO; [UIView transitionWithView:self duration:animationDuration options:UIViewAnimationOptionTransitionFlipFromBottom animations:^{} completion:^(BOOL finished){ if (finished) { self.layer.shouldRasterize = YES; } }];
source share