I have an iOS UIView with UIViewAnimationTransitionFlipFromRight. I need it to flip vertically though. The page curl transition won't cut it. I assume this will require something custom.
Any ideas?
Just write your own method for the flip using Core Animation Transforms.
- (void)verticalFlip{     [UIView animateWithDuration:someDuration delay:someDelay animations:^{         yourView.layer.transform = CATransform3DMakeRotation(M_PI,1.0,0.0,0.0);     } completion:^{         // code to be executed when flip is completed     }]; }   Make sure you have the Core Animation libraries/frameworks added and included and also have included math.h if you want to use the M_PI notation.
EDIT:
To have it essentially "change" the view when it's halfway flipped do something like this:
- (void)verticalFlip{     [UIView animateWithDuration:someDuration delay:someDelay animations:^{         yourView.layer.transform = CATransform3DMakeRotation(M_PI_2,1.0,0.0,0.0); //flip halfway     } completion:^{         while ([yourView.subviews count] > 0)             [[yourView.subviews lastObject] removeFromSuperview]; // remove all subviews         // Add your new views here          [UIView animateWithDuration:someDuration delay:someDelay animations:^{             yourView.layer.transform = CATransform3DMakeRotation(M_PI,1.0,0.0,0.0); //finish the flip         } completion:^{             // Flip completion code here         }];     }]; }   This could also work:
- (void)verticalFlip{      // Do the first half of the flip     [UIView animateWithDuration:someDuration delay:someDelay animations:^{         yourView.layer.transform = CATransform3DMakeRotation(M_PI_2,1.0,0.0,0.0); //flip halfway     } completion:^{         while ([yourView.subviews count] > 0)             [[yourView.subviews lastObject] removeFromSuperview]; // remove all subviews         // Add your new views here      }];      // After a delay equal to the duration+delay of the first half of the flip, complete the flip     [UIView animateWithDuration:someDuration delay:durationOfFirstAnimation animations:^{         yourView.layer.transform = CATransform3DMakeRotation(M_PI,1.0,0.0,0.0); //finish the flip     } completion:^{         // Flip completion code here     }]; }   Cheers.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With