控件基本动画

 1 #import "BasicViewController.h"
 2 
 3 @interface BasicViewController ()
 4 //用来测试动画效果的一个视图
 5 @property (weak, nonatomic) IBOutlet UIView *testView;
 6 
 7 @end
 8 
 9 @implementation BasicViewController
10 
11 - (void)viewDidLoad {
12     [super viewDidLoad];
13     
14     
15 }
16 #pragma mark - 动态的改变frame
17 - (IBAction)changeFrameAction:(UIButton *)sender {
18    //UIView动画起始于beginAnimation终止于commitAnimation
19     //第一步:开始设置UIView动画
20     [UIView beginAnimations:@"move" context:nil];
21     //第二步:设置播放时长
22     [UIView setAnimationDuration:2];
23     //第三步:设置UIView回调的对象(即代理)
24     [UIView setAnimationDelegate:self];
25     //第四步:设置要改变的内容
26     self.testView.frame = CGRectMake(100, 100, 200, 100);
27     //第五步:提交动画效果
28     [UIView commitAnimations];
29     
30     
31 }
32 - (IBAction)changeColor:(UIButton *)sender {
33     [UIView beginAnimations:@"颜色" context:nil];
34     [UIView setAnimationDuration:2];
35     [UIView setAnimationDelegate:self];
36     self.testView.backgroundColor = [UIColor magentaColor];
37     [UIView commitAnimations];
38 }
39 - (IBAction)changeAlpha:(UIButton *)sender {
40     [UIView beginAnimations:@"alpha" context:nil];
41     [UIView setAnimationDuration:2];
42     [UIView setAnimationDelegate:self];
43     self.testView.alpha = 0.5;
44     [UIView commitAnimations];
45 }
46 - (IBAction)changeBounds:(UIButton *)sender {
47     [UIView beginAnimations:@"bounds" context:nil];
48     [UIView setAnimationDuration:2];
49     [UIView setAnimationDelegate:self];
50     self.testView.bounds = CGRectMake(30, 40, 100, 100);
51     [UIView commitAnimations];
52 }
53 //仿射翻转
54 - (IBAction)totationAction:(UIButton *)sender {
55     //第一步:开始动画
56     [UIView beginAnimations:@"仿射翻转" context:nil];
57     //第二步:设置时长
58     [UIView setAnimationDuration:3];
59     //第三步:设置淡入的效果
60     [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
61     //第四步:设置代理
62     [UIView setAnimationDelegate:self];
63     //第五步:设置翻转的方向
64     [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.testView cache:YES];
65     //第六步:提交
66     [UIView commitAnimations];
67     
68 }
69 - (IBAction)transformAction:(UIButton *)sender {
70     [UIView beginAnimations:@"仿射旋转" context:nil];
71     [UIView setAnimationDuration:3];
72     [UIView setAnimationDelegate:self];
73     //设置旋转的度数
74     CGAffineTransform transform = CGAffineTransformMakeRotation(3 * M_PI);
75     //设置旋转对象
76     [self.testView setTransform:transform];
77     [UIView commitAnimations];
78 }
79 
80 #pragma mark - UIViewAnimation的代理方法
81 -(void)animationWillStart:(NSString *)animationID context:(void *)context
82 {
83     NSLog(@"animationID = %@,context = %@",animationID,context);
84 }
85 
86 -(void)animationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context
87 {
88     NSLog(@"animationID = %@,context = %@",animationID,context);
89 }

 

posted @ 2016-03-31 20:31  恒远也  阅读(203)  评论(0编辑  收藏  举报