#import "UIViewAnimation.h"
@implementation UIView (UIView_Animation)
- (void)transition:(UIView *)view1
view2:(UIView *)view2
type:(NSInteger)type
subType:(NSInteger)subType {
CATransition *transition = [CATransition animation];
transition.delegate = self;
transition.duration = 0.45;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.fillMode = kCAFillModeForwards;
transition.endProgress = 1;//slider.value;
transition.removedOnCompletion = NO;
NSString *types[12] = {
kCATransitionPush,kCATransitionMoveIn, kCATransitionReveal, kCATransitionFade,@"cube",@"suckEffect",@"oglFlip",@"rippleEffect",@"pageCurl",@"pageUnCurl",@"cameraIrisHollowOpen ",@"cameraIrisHollowClose "};NSString *subtypes[4] = {
kCATransitionFromLeft, kCATransitionFromRight, kCATransitionFromTop, kCATransitionFromBottom};transition.type = types[type];
transition.subtype = subtypes[subType];
[self.layer addAnimation:transition forKey:@"animation"];
view1.hidden = YES;
view2.hidden = NO;
}
- (void)viewAnimation:(NSInteger)index
view1:(UIView *)view1
view2:(UIView *)view2
{
[UIView beginAnimations:@"animationID" context:nil];
[UIView setAnimationDuration:0.45f];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationRepeatAutoreverses:NO];
switch (index) {
case :
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self cache:YES];//oglFlip, fromLeft
break;
case 1:
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self cache:YES];//oglFlip, fromRight
break;
case 2:
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self cache:YES];
break;
case 3:
[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self cache:YES];
break;
default:
break;
}
view1.hidden = YES;
view2.hidden = NO;
[UIView commitAnimations];
}
- (void)popup:(CGRect)rect {
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.2];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
[self setFrame:rect];
[UIView commitAnimations];
}
@end