#pragma mark Core Animation
- (IBAction)buttonPressed1:(id)sender {
UIButton *button = (UIButton
*)sender;
NSInteger tag = button.tag;
CATransition *animation =
[CATransitionanimation];
animation.delegate = self;
animation.duration = kDuration;
animation.timingFunction =
UIViewAnimationCurveEaseInOut;
switch (tag) {
case 101:
animation.type =
kCATransitionFade;
break;
case 102:
animation.type =
kCATransitionPush;
break;
case 103:
animation.type =
kCATransitionReveal;
break;
case 104:
animation.type =
kCATransitionMoveIn;
break;
case 201:
animation.type =
@"cube";
break;
case 202:
animation.type =
@"suckEffect";
break;
case 203:
animation.type =
@"oglFlip";
break;
case 204:
animation.type =
@"rippleEffect";
break;
case 205:
animation.type =
@"pageCurl";
break;
case 206:
animation.type =
@"pageUnCurl";
break;
case 207:
animation.type =
@"cameraIrisHollowOpen";
break;
case 208:
animation.type =
@"cameraIrisHollowClose";
break;
default:
break;
}
switch (self.typeID)
{
case 0:
animation.subtype = kCATransitionFromLeft;
break;
case 1:
animation.subtype =
kCATransitionFromBottom;
break;
case 2:
animation.subtype = kCATransitionFromRight;
break;
case 3:
animation.subtype = kCATransitionFromTop;
break;
default:
break;
}
self.typeID += 1;
if (self.typeID >
3) {
self.typeID =
0;
}
NSUInteger green =
[[self.view subviews]
indexOfObject:self.greenView];
NSUInteger blue =
[[self.view subviews]
indexOfObject:self.blueView];
[self.viewexchangeSubviewAtIndex:green
withSubviewAtIndex:blue];
[[self.view layer]
addAnimation:animation
forKey:@"animation"];
}
#pragma mark UIView动画
- (IBAction)buttonPressed2:(id)sender {
UIButton *button = (UIButton
*)sender;
NSInteger tag = button.tag;
CGContextRef context =
UIGraphicsGetCurrentContext();
[UIViewbeginAnimations:nilcontext:context];
[UIViewsetAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIViewsetAnimationDuration:kDuration];
switch (tag) {
case 105:
[UIViewsetAnimationTransition:UIViewAnimationTransitionCurlDownforView:self.viewcache:YES];
break;
case 106:
[UIViewsetAnimationTransition:UIViewAnimationTransitionCurlUpforView:self.viewcache:YES];
break;
case 107:
[UIViewsetAnimationTransition:UIViewAnimationTransitionFlipFromLeftforView:self.viewcache:YES];
break;
case 108:
[UIViewsetAnimationTransition:UIViewAnimationTransitionFlipFromRightforView:self.viewcache:YES];
break;
default:
break;
}
NSUInteger green =
[[self.view subviews]
indexOfObject:self.greenView];
NSUInteger blue =
[[self.view subviews]
indexOfObject:self.blueView];
[self.viewexchangeSubviewAtIndex:green
withSubviewAtIndex:blue];
[UIViewsetAnimationDelegate:self];
// 动画完毕后调用某个方法
//[UIView
setAnimationDidStopSelector:@selector(animationFinished:)];
[UIViewcommitAnimations];
}