偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

深度解析iPhone開發(fā)動(dòng)畫過(guò)渡過(guò)程

移動(dòng)開發(fā) iOS
本文介紹的是深度解析iPhone開發(fā)動(dòng)畫過(guò)渡過(guò)程,詳細(xì)的介紹了iphone開發(fā)中動(dòng)畫的操作,先來(lái)看內(nèi)容。

深度解析iPhone開發(fā)動(dòng)畫過(guò)渡過(guò)程,主要講解了iphone開發(fā)中動(dòng)畫過(guò)度的相關(guān)內(nèi)容,不多說(shuō),先來(lái)看詳細(xì)內(nèi)容。

1:首先獲取當(dāng)前的圖形上下文:

  1. CGContextRef context = UIGraphicsGetCurrentContext(); 

2:接著設(shè)置一些動(dòng)畫屬性用于開始動(dòng)畫:

  1. [UIView beginAnimations:nil context:context];  
  2. [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];  
  3. [UIView setAnimationDuration:1.0]; 

3:然后設(shè)置想要過(guò)度的對(duì)象的最終狀態(tài).

  1. [big setFrame:SMALLRECT];  
  2. [big setAlpha:0.5];  
  3. [little setFrame:BIGRECT];  
  4. [little setAlpha:1.0]; 

4:最后提交動(dòng)畫,這樣一個(gè)動(dòng)畫就會(huì)自動(dòng)生成了

  1. [UIView commitAnimations]; 

其中,setAnimationCurve是設(shè)置動(dòng)畫的方式,他有下面集中方式:

  1. UIViewAnimationCurveEaseInOut  //開始和結(jié)束時(shí)動(dòng)畫效果比較慢  
  2. UIViewAnimationCurveEaseIn       //開始動(dòng)畫效果比較慢  
  3. UIViewAnimationCurveEaseOut     //結(jié)束動(dòng)畫效果比較慢  
  4. UIViewAnimationCurveLinear         //平滑的動(dòng)畫效果 

而setAnimationDuration則是設(shè)置動(dòng)畫的持續(xù)時(shí)間.

下面是兩個(gè)UIView之間的動(dòng)畫過(guò)度

  1.        // Start Animation Block  
  2. //CGContextRef context = UIGraphicsGetCurrentContext();  
  3. CGContextRef context = nil;  
  4. [UIView beginAnimations:nil context:context];  
  5. [UIView setAnimationTransition: UIViewAnimationTransitionFlipFromLeft forView:[self superview] cache:YES];  
  6. [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];  
  7. [UIView setAnimationDuration:1.0];  
  8. // Animations  
  9. [[self superview] exchangeSubviewAtIndex:0 withSubviewAtIndex:1];  
  10. // Commit Animation Block  
  11. [UIView commitAnimations]; 

頁(yè)面之間的過(guò)度主要依靠UIView setAnimationTransition: forView: cache: 這個(gè)方法以及 exchangeSubviewAtIndex:withSubviewAtIndex:
前者通過(guò)UIView靜態(tài)方法設(shè)置過(guò)度的動(dòng)畫種類,后者實(shí)現(xiàn)真正的過(guò)度函數(shù)掉用.種類有如下五種:

  1. typedef enum {  
  2.     UIViewAnimationTransitionNone,  
  3.     UIViewAnimationTransitionFlipFromLeft,  
  4.     UIViewAnimationTransitionFlipFromRight,  
  5.     UIViewAnimationTransitionCurlUp,  
  6.     UIViewAnimationTransitionCurlDown,  
  7. } UIViewAnimationTransition; 

除了這種簡(jiǎn)單的動(dòng)畫方式外,其實(shí)還有一種利用QuartzCore來(lái)做過(guò)度動(dòng)畫.不同的地方在于,這個(gè)過(guò)度動(dòng)畫作用于層,換句話說(shuō),他動(dòng)畫直接做用于整個(gè)UIView,而不像UIView的動(dòng)畫,可以作用于UIView局部或本身.當(dāng)UIView作用與本身時(shí),實(shí)際上也就相當(dāng)于是對(duì)層的動(dòng)畫了.

  1. CATransition *animation = [CATransition animation];  
  2. [animation setDelegate:self];  
  3. [animation setDuration:1.0f];  
  4. [animation setTimingFunction:UIViewAnimationCurveEaseInOut];  
  5. [animation setType: kCATransitionMoveIn];  
  6. [animation setSubtype: kCATransitionFromBottom];  
  7. [[self superview] exchangeSubviewAtIndex:0 withSubviewAtIndex:1];  
  8. [[[self superview] layer] addAnimation:animation forKey:@"transitionViewAnimation"];  

setDuration:和UIView中的動(dòng)畫效果一樣,持續(xù)時(shí)間.setTimingFunction:是動(dòng)畫的種類,和UIView一樣,比如勻速動(dòng)畫,快速開始結(jié)束等.setType:是指定動(dòng)畫的類型,他有: kCATransitionFade (淡入淡出來(lái)補(bǔ)給動(dòng)畫)kCATransitionMoveIn(從一個(gè)方向覆蓋的方式來(lái)補(bǔ)給動(dòng)畫)kCATransitionPush(推送的方式來(lái)補(bǔ)給動(dòng)畫)kCATransitionReveal(一個(gè)試圖展現(xiàn)出另外另外一個(gè)試圖的方式)當(dāng)除了第一種方式外(淡入淡出),可以通過(guò)setSubType:來(lái)制定動(dòng)畫的方向(因?yàn)檫@些動(dòng)畫都是直接著用于層的,所以相當(dāng)于只有試圖間的切換過(guò)渡).動(dòng)畫方向有4個(gè):kCATransitionFromRightkCATransitionFromLeftkCATransitionFromTopkCATransitionFromBotto

小結(jié):深度解析iPhone開發(fā)動(dòng)畫過(guò)渡過(guò)程的內(nèi)容介紹完了,希望本文對(duì)你有所幫助!

責(zé)任編輯:zhaolei 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-06-07 17:16:47

iPhone 數(shù)據(jù)

2011-08-12 14:54:45

iPhone委托

2021-08-03 09:00:00

物聯(lián)網(wǎng)工業(yè)4.0技術(shù)

2011-07-29 15:09:48

iPhone Category

2011-12-25 21:00:30

iPhone

2011-08-02 18:07:03

iPhone 內(nèi)省 Cocoa

2021-10-12 11:07:33

動(dòng)畫深度Android

2011-08-12 11:23:47

iPhone窗口視圖

2011-07-29 14:18:46

iPhone開發(fā) 動(dòng)畫

2011-07-18 14:23:40

iPhone 多任務(wù)

2011-08-19 14:47:48

iPhoneiPhone4iPad

2022-01-16 12:10:18

騰訊動(dòng)畫組件PAG

2011-07-27 17:02:12

Xcode iPhone 單元測(cè)試

2011-07-25 17:13:31

iPhone 圖形 動(dòng)畫

2011-08-19 13:45:14

iPhone應(yīng)用iPhone OS數(shù)據(jù)

2011-08-15 13:50:06

IPhone開發(fā)UIView動(dòng)畫

2011-08-12 14:04:53

iPhone動(dòng)畫

2009-07-30 21:15:43

2011-08-16 18:13:42

IPhone開發(fā)UIView動(dòng)畫

2011-08-12 11:31:46

iPhoneUIView動(dòng)畫
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)