你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> ios中layer動畫和UIView動畫代碼總結

ios中layer動畫和UIView動畫代碼總結

編輯:IOS開發綜合


kCATransitionFade淡出
kCATransitionMoveIn覆蓋原圖
kCATransitionPush推出
kCATransitionReveal底部顯出來

pageCurl 向上翻一頁
pageUnCurl 向下翻一頁
rippleEffect 滴水效果
suckEffect 收縮效果,如一塊布被抽走
cube 立方體效果
oglFlip 上下翻轉效果


#pragma mark UIView 動畫

- (IBAction)pressClick1:(id)sender {

UIButton *button = (UIButton *)sender;
NSInteger tag = button.tag;

CGContextRef context = UIGraphicsGetCurrentContext();
[UIView beginAnimations:nil context:context];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:kDuration];
switch (tag) {
case 105:
[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.view cache:YES];
break;
case 106:
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES];
break;
case 107:
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES];
break;
case 108:
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.view cache:YES];
break;

default:
break;
}
NSUInteger green = [[self.view subviews] indexOfObject:self.greenView];
NSUInteger blue = [[self.view subviews] indexOfObject:self.blueView];
[self.view exchangeSubviewAtIndex:green withSubviewAtIndex:blue];

[UIView setAnimationDelegate:self];
// 動畫完畢後調用某個方法
//[UIView setAnimationDidStopSelector:@selector(animationFinished:)];
[UIView commitAnimations];

}

#pragma mark layer動畫
- (IBAction)pressClick2:(id)sender {
UIButton *button = (UIButton *)sender;
NSInteger tag = button.tag;

CATransition *animation = [CATransition animation];
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";
case 207:
animation.type = @"cameraIrisHollowOpen";
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.view exchangeSubviewAtIndex:green withSubviewAtIndex:blue];

[[self.view layer]addAnimation:animation forKey:@"animation"];
}






  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved