CGAffineTransformMakeRotation 旋转
CGAffineTransformMakeTranslation 滑动
CGAffineTransformScale 拉伸
详情见代码:
//
// ViewController.m
// 指示器转圈
//
// Created by chenkai on 15/7/21.
// Copyright (c) 2015年 chenkai. All rights reserved.
//
#import "ViewController.h"
@interface ViewController ()
@property (nonatomic, strong) UIImageView *imgView1;
@property (nonatomic, strong) UIImageView *imgView2;
@property (nonatomic, strong) UIImageView *imgView3;
@property (nonatomic, strong) UIImageView *imgView4;
@property (nonatomic, strong) UIImageView *imgView5;
@property (nonatomic, assign) float a;
@property (nonatomic, assign) float b;
@property (nonatomic, assign) float c;
@property (nonatomic, assign) float d;
@property (nonatomic, assign) float e;
@property (nonatomic, assign) float f;
@property (nonatomic, assign) float g;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
_a = 0;
_b = 0;
_c = 0;
_d = 1;
_e = 200;
_f = 10;
_g = 1;
_imgView1 = [[UIImageView alloc]initWithFrame:CGRectMake(100, 100, 50, 50)];
_imgView1.image = [UIImage imageNamed:@"1"];
[self.view addSubview:_imgView1];
_imgView2 = [[UIImageView alloc]initWithFrame:CGRectMake(100, 200, 50, 50)];
_imgView2.image = [UIImage imageNamed:@"1"];
[self.view addSubview:_imgView2];
_imgView3 = [[UIImageView alloc]initWithFrame:CGRectMake(100, 300, 50, 50)];
_imgView3.image = [UIImage imageNamed:@"1"];
[self.view addSubview:_imgView3];
_imgView4 = [[UIImageView alloc]initWithFrame:CGRectMake(100, 400, 50, 50)];
_imgView4.image = [UIImage imageNamed:@"1"];
[self.view addSubview:_imgView4];
_imgView5 = [[UIImageView alloc]initWithFrame:CGRectMake(100, 500, 50, 50)];
_imgView5.image = [UIImage imageNamed:@"1"];
[self.view addSubview:_imgView5];
[NSTimer scheduledTimerWithTimeInterval:0.05 target:self selector:@selector(timeRun) userInfo:nil repeats:YES];
[NSTimer scheduledTimerWithTimeInterval:0.05 target:self selector:@selector(timeJump) userInfo:nil repeats:YES];
[NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(timeMove) userInfo:nil repeats:YES];
[NSTimer scheduledTimerWithTimeInterval:0.005 target:self selector:@selector(timeRunn) userInfo:nil repeats:YES];
}
//旋转
- (void)timeRun{
_a = _a + 0.1;
_imgView1.transform = CGAffineTransformMakeRotation(M_PI *(_a));
if (_a >=10) {
_f = _f -0.1;
_imgView1.transform = CGAffineTransformMakeRotation(M_PI *(_f));
}
}
//上下翻转 闪烁效果
- (void)timeJump{
_b = _b + 1;
_imgView2.transform = CGAffineTransformMakeRotation(M_PI *(_b));
if (_b >= 1000) {
_imgView2.transform = CGAffineTransformIdentity;//停止特效,恢复
}
}
//向左或右滑动效果
- (void)timeMove{
_c = _c + 5;// +向右 -向左
_imgView3.transform = CGAffineTransformMakeTranslation(_c,-25);// 100向上或下的距离(只移动一次)
if(_c >= 200 && _e <= 0) {
_c = 0;
_e =200;
}
[self play];
}
- (void)play{
if (_c >= 200) {
_e = _e - 5;
_imgView3.transform = CGAffineTransformMakeTranslation(_e,25);// 100向上或下的距离(只移动一次)
}
if(_e <= 0){
_c = _c +5;
_imgView3.transform = CGAffineTransformMakeTranslation(_c,-25);// 100向上或下的距离(只移动一次)
}
}
//缩放
- (void)timeRunn{
// CGAffineTransform rotation = CGAffineTransformMakeRotation(M_PI * _d);//带旋转
CGAffineTransform rotation = CGAffineTransformMakeRotation(0);//无效果
[_imgView4 setTransform:rotation];
//等比缩放
_d = _d +0.01;
_imgView4.transform = CGAffineTransformScale(rotation, _d, _d);
if(_d >= 2){
_d = _d - 1;
_imgView4.transform = CGAffineTransformScale(rotation,_d, _d);
}
//横向或纵向拉伸效果
_g = _g + 0.001;
_imgView5.transform = CGAffineTransformScale(rotation, 1, _g);
if (_g >= 2) {
_g = _g + 0.001;
_imgView5.transform = CGAffineTransformScale(rotation, _g, 1);
if (_g >=4) {
_imgView5.transform = CGAffineTransformIdentity;
}
}
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end