首页 > 其他 > 详细

coreAnimation与view动画

时间:2015-11-22 17:23:43      阅读:287      评论:0      收藏:0      [点我收藏+]

技术分享

 

 1 //
 2 //  ViewController.m
 3 //  CAAnimationAndViewAnimation
 4 //
 5 //  Created by ys on 15/11/22.
 6 //  Copyright (c) 2015年 ys. All rights reserved.
 7 //
 8 
 9 #import "ViewController.h"
10 
11 @interface ViewController ()
12 @property (weak, nonatomic) IBOutlet UIView *blackView;
13 
14 @end
15 
16 @implementation ViewController
17 
18 - (void)viewDidLoad {
19     [super viewDidLoad];
20 }
21 
22 -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
23 {
24 //    [self diyCACoreAnimation];
25 //    [self viewAnimation1];
26 //    [self viewAnimation2];
27     [self viewAnimation3];
28     
29 }
30 /**
31  *  核心动画的问题在于  1.其直接操作layer层,和view层比不够面向对象.
32  *                   2.layer的属性均没有改变.图层动画都是假象, 在动画执行过程中, 图层的position属性一直都没有变过
33  *  因此在实际开发中,除非某些效果难以达到,一般都是使用view实现动画
34  */
35 -(void)diyCACoreAnimation
36 {
37     CABasicAnimation *anim = [CABasicAnimation animation];
38     anim.keyPath = @"position";
39     anim.toValue = [NSValue valueWithCGPoint:CGPointMake(200, 200)];
40     anim.duration = 0.5;
41     anim.removedOnCompletion = NO;
42     anim.fillMode = kCAFillModeForwards;
43     anim.delegate = self;
44     [self.blackView.layer addAnimation:anim forKey:nil];
45 
46 }
47 
48 -(void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag
49 {
50     //diyCACoreAnimation动画结束后打印一下发现图层的position属性一直都没有变过
51     NSLog(@"%@",NSStringFromCGPoint(self.blackView.layer.position));
52 }
53 
54 -(void)viewAnimation1
55 {
56     [UIView beginAnimations:nil context:nil];
57     self.blackView.center = CGPointMake(200, 200);
58     [UIView commitAnimations];
59     NSLog(@"%@",NSStringFromCGPoint(self.blackView.center));
60 }
61 
62 -(void)viewAnimation2
63 {
64     [UIView animateWithDuration:1.0 animations:^{
65         self.blackView.center = CGPointMake(200, 200);
66     } completion:^(BOOL finished) {
67         NSLog(@"%@",NSStringFromCGPoint(self.blackView.center));
68     }];
69 }
70 
71 -(void)viewAnimation3
72 {
73     [UIView transitionWithView:self.blackView duration:10 options:UIViewAnimationOptionTransitionFlipFromRight animations:^{
74     } completion:^(BOOL finished) {
75     }];
76 }
77 @end

 

coreAnimation与view动画

原文:http://www.cnblogs.com/yangshun-work/p/4986095.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!