苹果开发 笔记(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);//

出来的效果可以试试。缩小了比例 和倒放了。
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值