animaiton各種好玩動畫·2

@property (nonatomic) CATransition *transition;//全局變量

  • aa {

pragma 正方體效果向上翻轉

CATransition *transtion = [CATransition animation];
[transtion setStartProgress:0.5];
[transtion setEndProgress:0.6];
transtion.duration = 5;
[transtion setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];
[transtion setType:@"cube"];
[transtion setSubtype:kCATransitionFromTop];
[_imageView.layer addAnimation:transtion forKey:@"transtionKey"];
transtion.delegate = self; //代理

   _transition = [CATransition animation];
    [transtion setStartProgress:0.5];
    [transtion setEndProgress:0.6];
    _transition.duration = 2;
    [_transition setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];
    [_transition setType:@"cube"];
 [_transition setDelegate:self];//代理寫在前面,寫在最后面不會調用代理方法>!
    [_transition setSubtype:kCATransitionFromTop];
    [_imageView.layer addAnimation:_transition forKey:@"transtionKey"];

pragma 從下向上推出

CATransition *transtion = [CATransition animation];
//            [transtion setStartProgress:0.5];
//            [transtion setEndProgress:0.6];
transtion.duration = 5;
[transtion setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];
[transtion setType:kCATransitionPush];
[transtion setSubtype:kCATransitionFromTop];
[_imageView.layer addAnimation:transtion forKey:@"animationKey"];

pragma 從小向上揭走

CATransition *transtion = [CATransition animation];
//            [transtion setStartProgress:0.5];
//            [transtion setEndProgress:0.6];
transtion.duration = 5;
[transtion setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];
[transtion setType:kCATransitionReveal];
[transtion setSubtype:kCATransitionFromTop];
[_imageView.layer addAnimation:transtion forKey:@"transtionKey"];

pragma 從下向上覆蓋

CATransition *transtion = [CATransition animation];
//            [transtion setStartProgress:0.5];
//            [transtion setEndProgress:0.6];
transtion.duration = 5;
[transtion setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];
[transtion setType:kCATransitionMoveIn];
[transtion setSubtype:kCATransitionFromTop];
[_imageView.layer addAnimation:transtion forKey:@"transtionKey"];

pragma 一張圖片覆蓋另一張圖片

CATransition *transtion = [CATransition animation];
//            [transtion setStartProgress:0.5];
//            [transtion setEndProgress:0.6];
transtion.duration = 5;
[transtion setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]];
                              [transtion setType:kCATransitionFade];
                              [transtion setSubtype:kCATransitionFromTop];
                              [_imageView setImage:[UIImage imageNamed:@"儀表盤2"]];
                              [_imageView.layer addAnimation:transtion forKey:@"animationkey"];

pragma 抽走

CATransition *transtion = [CATransition animation];
//            [transtion setStartProgress:0.5];
//            [transtion setEndProgress:0.6];
transtion.duration = 5;
[transtion setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];
[transtion setType:@"suckEffect"];
[transtion setSubtype:kCATransitionFromTop];
[_imageView.layer addAnimation:transtion forKey:@"transtionKey"];

pragma 繞x軸翻轉

CATransition *transtion = [CATransition animation];
//            [transtion setStartProgress:0.5];
//            [transtion setEndProgress:0.6];
transtion.duration = 5;
[transtion setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];
[transtion setType:@"oglFlip"];
[transtion setSubtype:kCATransitionFromTop];
[_imageView.layer addAnimation:transtion forKey:@"transtionKey"];

pragma 波紋效果

// CATransition *transtion = [CATransition animation];
// [transtion setStartProgress:0.5];
// [transtion setEndProgress:0.6];
transtion.duration = 5;
[transtion setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];
[transtion setType:@"rippleEffect"];
[transtion setSubtype:kCATransitionFromTop];
[_imageView.layer addAnimation:transtion forKey:@"transtionKey"];

pragma 開鏡頭

CATransition *transtion = [CATransition animation];
//            [transtion setStartProgress:0.5];
//            [transtion setEndProgress:0.6];
transtion.duration = 5;
[transtion setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];
[transtion setType:@"cameraIrisHollowOpen"];
[transtion setSubtype:kCATransitionFromTop];
[_imageView.layer addAnimation:transtion forKey:@"transtionKey"];

pragma 關鏡頭

CATransition *transtion = [CATransition animation];
//            [transtion setStartProgress:0.5];
//            [transtion setEndProgress:0.6];
transtion.duration = 5;
[transtion setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]];
[transtion setType:@"cameraIrisHollowClose"];
[transtion setSubtype:kCATransitionFromTop];
[_imageView.layer addAnimation:transtion forKey:@"transtionKey"];

pragma 縮放

CABasicAnimation *basic = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
[basic setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]];
[basic setFromValue:[NSNumber numberWithFloat:1]];
[basic setToValue:[NSNumber numberWithFloat:.3]];
[basic setDuration:2];
//[basic setDelegate:self];
[_imageView.layer addAnimation:basic forKey:@"animationKey"];

pragma 透明

CABasicAnimation *basic1 = [CABasicAnimation animationWithKeyPath:@"opacity"];
[basic1 setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]];
[basic1 setFromValue:[NSNumber numberWithFloat:1]];
[basic1 setToValue:[NSNumber numberWithFloat:.3]];
[basic1 setDuration:2];
[_imageView.layer addAnimation:basic1 forKey:@"animationKey"];

pragma 邊框效果

CAKeyframeAnimation *keyframe = [CAKeyframeAnimation animationWithKeyPath:@"borderWidth"];
keyframe.values = [NSArray arrayWithObjects:[NSNumber numberWithFloat:0],
                   [NSNumber numberWithFloat:5],
                   [NSNumber numberWithFloat:10],
                   [NSNumber numberWithFloat:15],nil];
keyframe.repeatCount = MAXFLOAT;
keyframe.autoreverses = YES;
keyframe.duration = 2;
[_imageView.layer addAnimation:keyframe forKey:@"animationKey"];

pragma 移動位置

UIBezierPath *path = [UIBezierPath bezierPath];
//[path moveToPoint:image.frame.origin];
[path moveToPoint:CGPointMake(_imageView.frame.origin.x + _imageView.frame.size.width/2, _imageView.frame.origin.y + _imageView.frame.size.height/2)];
[path addLineToPoint:CGPointMake(_imageView.frame.origin.x + _imageView.frame.size.width/2,400)];
[path addLineToPoint:CGPointMake(20, 400)];
CAKeyframeAnimation *keyframe1 = [CAKeyframeAnimation animationWithKeyPath:@"position"];
keyframe1.path = path.CGPath;
keyframe1.duration = 2;
[_imageView.layer addAnimation:keyframe1 forKey:@"animationKey"];

pragma 動畫組

CAAnimationGroup *group = [CAAnimationGroup animation];
CABasicAnimation *basic2 = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
[basic2 setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]];
[basic2 setFromValue:[NSNumber numberWithFloat:1]];
[basic2 setToValue:[NSNumber numberWithFloat:.3]];
CAKeyframeAnimation *keyframe2 = [CAKeyframeAnimation animationWithKeyPath:@"transform.rotation.x"];
keyframe2.values = [NSArray arrayWithObjects:[NSNumber numberWithFloat:0],[NSNumber numberWithFloat:M_PI], nil];
[group setDuration:2];
[group setAnimations:[NSArray arrayWithObjects:basic2,keyframe2, nil]];
[_imageView.layer addAnimation:group forKey:@"animationKey"];

pragma 自動轉圈

CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
animation.toValue = @( - M_PI * 2);
animation.duration = 3;
animation.repeatCount = MAXFLOAT;
[_imageView.layer addAnimation:animation forKey:@"rotationZ"];
}

  • sender {
    [UIView beginAnimations:@"animationID" context:nil];
    [UIView setAnimationDuration:4];
    [UIView setAnimationCurve:UIViewAnimationCurveLinear];
    [UIWindow setAnimationsEnabled:YES];
    // [UIView setAnimationRepeatAutoreverses:YES]; //自動恢復
    [UIView setAnimationDidStopSelector:@selector(fasd)]; //動畫結束完成的事件

pragma 4個方向的翻頁

[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:_imageView cache:YES];//向上翻頁

// [UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:_imageView cache:YES];//向下翻頁
// [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:_imageView cache:YES];//向左翻頁
// [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:_imageView cache:YES];//向右翻頁
[UIView setAnimationDelegate:self]; //設置代理后伤柄,執(zhí)行-(void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag
[UIView commitAnimations];
}

pragma 代理方法

  • (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag{
    self.imageView.image = [UIImage imageNamed:@"儀表盤2"];
    }
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末膀跌,一起剝皮案震驚了整個濱河市号俐,隨后出現(xiàn)的幾起案子皆怕,更是在濱河造成了極大的恐慌娃殖,老刑警劉巖血巍,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異珊随,居然都是意外死亡,警方通過查閱死者的電腦和手機柿隙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進店門叶洞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人禀崖,你說我怎么就攤上這事衩辟。” “怎么了波附?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵艺晴,是天一觀的道長。 經(jīng)常有香客問我掸屡,道長封寞,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任仅财,我火速辦了婚禮狈究,結果婚禮上,老公的妹妹穿的比我還像新娘盏求。我一直安慰自己抖锥,他們只是感情好亿眠,可當我...
    茶點故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著磅废,像睡著了一般纳像。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上拯勉,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天竟趾,我揣著相機與錄音,去河邊找鬼谜喊。 笑死潭兽,一個胖子當著我的面吹牛,可吹牛的內容都是我干的斗遏。 我是一名探鬼主播山卦,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼诵次!你這毒婦竟也來了账蓉?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤逾一,失蹤者是張志新(化名)和其女友劉穎铸本,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體遵堵,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡箱玷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了陌宿。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锡足。...
    茶點故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖壳坪,靈堂內的尸體忽然破棺而出舶得,到底是詐尸還是另有隱情,我是刑警寧澤爽蝴,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布沐批,位于F島的核電站,受9級特大地震影響蝎亚,放射性物質發(fā)生泄漏九孩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一发框、第九天 我趴在偏房一處隱蔽的房頂上張望捻撑。 院中可真熱鬧,春花似錦、人聲如沸顾患。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽江解。三九已至设预,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間犁河,已是汗流浹背鳖枕。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留桨螺,地道東北人宾符。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像灭翔,于是被迫代替她去往敵國和親魏烫。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,955評論 2 355

推薦閱讀更多精彩內容

  • 在iOS實際開發(fā)中常用的動畫無非是以下四種:UIView動畫肝箱,核心動畫哄褒,幀動畫,自定義轉場動畫煌张。 1.UIView...
    請叫我周小帥閱讀 3,097評論 1 23
  • 在iOS中隨處都可以看到絢麗的動畫效果呐赡,實現(xiàn)這些動畫的過程并不復雜,今天將帶大家一窺ios動畫全貌骏融。在這里你可以看...
    每天刷兩次牙閱讀 8,495評論 6 30
  • 在iOS中隨處都可以看到絢麗的動畫效果链嘀,實現(xiàn)這些動畫的過程并不復雜,今天將帶大家一窺iOS動畫全貌档玻。在這里你可以看...
    F麥子閱讀 5,113評論 5 13
  • 先看看CAAnimation動畫的繼承結構 CAAnimation{ CAPropertyAnimation { ...
    時間不會倒著走閱讀 1,652評論 0 1
  • 如果想讓事情變得順利怀泊,只有靠自己--夏爾·紀堯姆 上一章介紹了隱式動畫的概念。隱式動畫是在iOS平臺創(chuàng)建動態(tài)用戶界...
    夜空下最亮的亮點閱讀 1,942評論 0 1