苹果开发 笔记(31)UIView beginAnimations

今天早上精神状态不佳,总是找不到目标。可能是因为工作缘故一直还没着落,明天是哆啦a梦3D电影上演。童年最喜欢的一部动画,充满幻想的气息。
今晚复习一些旧的代码,UIImage绘图方面,现在看总算有点感觉。随手写了一个与哆啦a梦有关的浮动小动画。一方面为了复习绘图,一方面也看看块动画的设置如何。

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    [self createImage];
}

-(void) createImage
{

    UIImage *image =[UIImage imageNamed:@"duo.jpg"];
    CGSize size = CGSizeMake(image.size.width, image.size.height);

    UIGraphicsBeginImageContext(size);
    [image drawAtPoint:CGPointMake(0, 0)];

    UIImage *newImg = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    UIImageView *imageView =[[UIImageView alloc]initWithImage:newImg];
    [self.view addSubview:imageView];
    imageView.center = self.view.center;


    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationRepeatCount:MAXFLOAT];
    [UIView setAnimationDuration:1];
    [UIView setAnimationRepeatAutoreverses:YES];
    CGPoint p = imageView.center;
    p.y+=50;
    imageView.center = p;

    [UIView commitAnimations];

}


- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

设置了下面几行代码后,哆啦a梦就会网上往下轻浮起来。由于设置了最大值,所以这个值可以认为一直不会停下来。
如果把这个行去到后 [UIView setAnimationRepeatAutoreverses:YES]; 你会发现动画没有那么有浮空感。

 [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationRepeatCount:MAXFLOAT];
    [UIView setAnimationDuration:1];
    [UIView setAnimationRepeatAutoreverses:YES];
    CGPoint p = imageView.center;
    p.y+=50;
    imageView.center = p;

    [UIView commitAnimations];

本来想在mac 录制一下gif动画,发现mac 录制还要找一些软件。mac 的QQ 功能有点弱,没有提供和win 一样的功能。可惜一点。

UIView 视图有一个矩阵相关的变换,可以对视图进行角度旋转,平移 和缩放,反转 等。UIView 有一个属性transform

我想对UIImageView 进行缩放。于是可以对其进行

 imageView.transform = CGAffineTransformMakeScale(0.5, 0.5);

接下来 又希望可以对其进行反转180度。

    imageView.transform = CGAffineTransformRotate(imageView.transform, 180*M_PI/180);//

出来的效果可以试试。缩小了比例 和倒放了。
苹果开发 笔记(31)UIView beginAnimations_第1张图片

你可能感兴趣的:(苹果开发 笔记(31)UIView beginAnimations)