IOS學習動畫一之 UIKit動畫

來源:互聯網
上載者:User

IOS學習動畫一之 UIKit動畫
IOS的 普通動畫可使用UIKit提供的動畫方式;           複雜動畫可使用Core Animation。 1、 通過動畫上下文使用UIKit動畫 -(void)animationOfUIKit  {      UIView *redView=[[UIView alloc]initWithFrame:CGRectMake(10, 10, 100, 100)];             [self.view addSubview:redView];      //開始動畫      [UIView beginAnimations:@"test" context:nil];      //動畫時間長度      [UIView setAnimationDuration:1];      //設定動畫淡入淡出      [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];     /*       *要進行動畫設定的地方       */      redView.backgroundColor=[UIColor blueColor];      redView.frame=CGRectMake(50, 50, 200, 200);      redView.alpha=0.5;    //動畫結束      [UIView commitAnimations];  } 2、通過代碼塊使用UIKit動畫 -(void)animationOfBlock  {      //初始化一個View,用來顯示動畫      UIView *redView=[[UIView alloc]initWithFrame:CGRectMake(10, 10, 100, 100)];    [self.view addSubview:redView];         [UIView animateWithDuration:1 //時間長度                   delay:0 //延遲時間                   options:UIViewAnimationOptionTransitionFlipFromLeft//動畫效果                   animations:^{                         //動畫設定地區                           redView.backgroundColor=[UIColor blueColor];                           redView.frame=CGRectMake(50, 50, 200, 200);                           redView.alpha=0.5;                       } completion:^(BOOL finish){                         //動畫結束時調用                       }];} 3、UIView的,翻轉、旋轉,位移,翻頁,縮放,取反的動畫效果CoreGraphics架構中的CGAffineTransform類可用於設定UIView的transform屬性,控制視圖的縮放、旋轉和平移等操作 (另稱為 放射變換矩陣),這種動畫都是針對視圖的原定最初位置的中心點為起始參照進行相應操作的,在操作結束之後可對設定量進行還原:view.transform=CGAffineTransformIdentity; 翻轉的動畫     //開始動畫     [UIView beginAnimations:@"doflip" context:nil];     //設定時常     [UIView setAnimationDuration:1];     //設定動畫淡入淡出     [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];     //設定代理     [UIView setAnimationDelegate:self];     //設定翻轉方向     [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:manImageView cache:YES];     //動畫結束     [UIView commitAnimations]; 旋轉動畫 //建立一個CGAffineTransform  transform對象  CGAffineTransform  transform;   //設定旋轉度數  transform = CGAffineTransformRotate(manImageView.transform,M_PI/6.0);  //動畫開始  [UIView beginAnimations:@"rotate" context:nil ];  //動畫時常  [UIView setAnimationDuration:2];  //添加代理  [UIView setAnimationDelegate:self];  //擷取transform的值  [manImageView setTransform:transform];  //關閉動畫  [UIView commitAnimations]; 位移動畫 [UIView beginAnimations:@"move" context:nil];[UIView setAnimationDuration:2];[UIView setAnimationDelegate:self];//改變它的frame的x,y的值manImageView.frame=CGRectMake(100,100, 120,100);[UIView commitAnimations]; 翻頁動畫 [UIView beginAnimations:@"curlUp" context:nil];  //指定動畫曲線類型,該枚舉是預設的,線性是勻速的  [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];//設定動畫時常  [UIView setAnimationDuration:1];  [UIView setAnimationDelegate:self];  //設定翻頁的方向  [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:manImageView cache:YES];  //關閉動畫  [UIView commitAnimations]; 縮放動畫 CGAffineTransform  transform = CGAffineTransformScale(manImageView.transform,1.2,1.2);  [UIView beginAnimations:@"scale" context:nil];  [UIView setAnimationDuration:2];  [UIView setAnimationDelegate:self];  [manImageView setTransform:transform];  [UIView commitAnimations]; 取反的動畫效果是根據當前的動畫取他的相反的動畫 CGAffineTransform transform = CGAffineTransformInvert(manImageView.transform);  [UIView beginAnimations:@"Invert" context:nil];  [UIView setAnimationDuration:2];//動畫時常  [UIView setAnimationDelegate:self];  [manImageView setTransform:transform];//擷取改變後的view的transform  [UIView commitAnimations];//關閉動畫 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.