当前位置:编程学习 > wap >>

IOS开发(90)之动画视图的旋转

1 前言
今天我们来学习如何创建一个旋转仿射变换并使用 UIView 类的动画方法来执行旋转动作。


2 代码实例
ZYViewController.m

 

[plain]
- (void)viewDidLoad 

    [super viewDidLoad]; 
    UIImage *xcodeImage = [UIImage imageNamed:@"Xcode.png"]; 
    self.xcodeImageView = [[UIImageView alloc] initWithImage:xcodeImage]; 
    //设置图片的Frame 
    [self.xcodeImageView setFrame:CGRectMake(0.0f,0.0f, 100.0f, 100.0f)]; 
    self.view.backgroundColor = [UIColor whiteColor]; 
    [self.view addSubview:self.xcodeImageView]; 

 
- (void) viewDidAppear:(BOOL)paramAnimated{ [super viewDidAppear:paramAnimated]; 
    self.xcodeImageView.center = self.view.center; 
    /* Begin the animation */ 
    [UIView beginAnimations:@"clockwiseAnimation" context:NULL]; 
    /* Make the animation 5 seconds long */ 
    [UIView setAnimationDuration:5.0f]; 
    [UIView setAnimationDelegate:self]; 
    //停止动画时候调用clockwiseRotationStopped方法 
    [UIView setAnimationDidStopSelector:@selector(clockwiseRotationStopped:finished:context:)]; 
    //顺时针旋转90度 
    self.xcodeImageView.transform = CGAffineTransformMakeRotation((90.0f * M_PI) / 180.0f); 
    /* Commit the animation */ 
    [UIView commitAnimations]; 

 
- (void)clockwiseRotationStopped:(NSString *)paramAnimationID finished:(NSNumber *)paramFinished 
                         context:(void *)paramContext{ 
    [UIView beginAnimations:@"counterclockwiseAnimation"context:NULL]; 
    /* 5 seconds long */ 
    [UIView setAnimationDuration:5.0f]; 
    /* 回到原始旋转 */ 
    self.xcodeImageView.transform = CGAffineTransformIdentity; 
    [UIView commitAnimations]; 

补充:移动开发 , IOS ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,