iOS 动画类型 笔记

#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];

}

上一篇:Oracle列自增-12c


下一篇:Android-Activity-Dialog theme touch outsize