coreAnimation与view动画

 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
时间: 2024-11-03 22:02:19

coreAnimation与view动画的相关文章

Android动画——View动画

一.概述 View动画共有四种效果分别是平移动画.旋转动画.缩放动画以及透明度变化,此外帧动画也属于View动画,但实现效果与前面几种有所区别. 二.View动画的种类 四种动画分别对应四个Animation的子类TranslateAnimation.RotateAnimation.ScaleAnimation.AlphaAnimation,同时也可用XML来定义动画,分别对应标签<translate> <rotate> <scale> <alpha>,在实

Android移动view动画问题--停在动画的最后一帧(转)

Android写动画效果不是一般的麻烦,网上找了好久,终于解决了动画的问题,总结记录以共勉. 仅以水平方向移动效果做说明,垂直方向类似. public void slideview(final float p1, final float p2) { TranslateAnimation animation = new TranslateAnimation(p1, p2, 0, 0); animation.setInterpolator(new OvershootInterpolator());

AndroidScreenSlide项目切换view动画效果

AndroidScreenSlide项目切换view动画效果 AndroidScreenSlide项目中有几个不错的效果,一:Card Flip翻页立体效果,二:Screen Slide 左右切换view时候和新加载view呈现效果,三:Layout Changes添加每一个item效果和删除每一个item效果.四:Advanced Screen Slide切换viewpager时页面切换动画效果.本项目来源:https://github.com/xiongwei-git/AndroidScre

Android传统View动画与Property动画基础及比较

前言:关于动画方面的知识也整理一段时间了,如题,这篇文章简单的介绍了View和Property动画的概念,如何在项目中创建资源文件,以及如何在代码中使用它们,本次整理动画的重点放在了Property动画上,下一篇文章将详细的分析Property动画几个重要的类,并分析几个开源库的实现,敬请期待. View anim (Tween/Frame) Tween动画 主要有4中:缩放.平移.渐变.旋转 文件位置: res/anim/filename.xml编译资源的数据类型:an Animation.资

AndroidScreenSlide项目切换view动画效果《IT蓝豹》

AndroidScreenSlide项目切换view动画效果 AndroidScreenSlide项目中有几个不错的效果,一:Card Flip翻页立体效果,二:Screen Slide 左右切换view时候和新加载view呈现效果,三:Layout Changes添加每一个item效果和删除每一个item效果.四:Advanced Screen Slide切换viewpager时页面切换动画效果.本项目来源:https://github.com/xiongwei-git/AndroidScre

Android 动画具体解释View动画

为了让用户更舒适的在某些情况下,利用动画是那么非常有必要的.Android在3.0一旦支持两种动画Tween动漫Frame动画.Tween动画支持简单的平移,缩放,旋转,渐变.Frame动画就像Gif图通过一系列图片来模拟动画效果,而在Android 3.0以后引入了新的动画就是属性动画(property animation).Android 分享一个简单有趣的动画效果 就是利用了属性动画. 今天我们主要来学习Tween动画也就是View动画. View 动画仅仅能应用于View对象,并且仅仅支

android 动画基础绘——view 动画(二)[补]

前言 这个是对view 动画的补充,是一些view 动画的特殊使用场景. 回顾第一篇关于view 动画的,我介绍到view的动画都是针对元素本身的. 当我们开发view动画的时候,我们看到几个元素在做相同规律的变化,如果我们去一个个设置的话,当然是可以的,但是呢一个代码不美观. 同样我们看到,我们进入下一个页面的时候,那么有一个切换动画.这些基本都可以用view 动画实现. 正文 activity 切换效果 Intent intent=new Intent(this,demo.class); s

Android View动画效果—透明效果,旋转效果

一:动画效果 方法一:动画效果用AlphaAnimation类,直接添加 AlphaAnimation aa = new AlphaAnimation(0,1); //设置透明度 aa.setDuration(2000); //设置时间 view.startAnimation(aa); 方法二:应用xml方式 建立一个xml为aa.xml文件 <?xml version="1.0" encoding="utf-8"?> <alpha xmlns:a

iOS高级-QuartzCore框架-CoreAnimation和UIView动画的使用

一.UIView封装的动画图层动画有2个致命的缺点:1>默认情况下会反弹.2>你所看到的动画都是假象,图层的属性一直都没有变过所以建议能用UIView就用UIView,实在不行再用图层.1.UIView的移动动画-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ [UIView beginAnimations:nil context:nil]; //动画执行完毕后,会自动调用self的animateStop方法(用这