CABasicAnimation-04-核心动画-day4

//
//  ViewController.m
//  04-CABasicAnimation
//
//  Created by mac on 16/4/18.
//  Copyright © 2016年 mac. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIImageView *imageView;

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

//    [self createBasicAnimation];
}
- (void)createBasicAnimation {

    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 50, 50)];
    view.backgroundColor = [UIColor cyanColor];
    [self.view addSubview:view];

    //1. 初始化动画对象 : keyPath是在动画过程中,需要改变的值
    CABasicAnimation *basicAnim = [CABasicAnimation animationWithKeyPath:@"position"];

    //2. 设置属性改变的值
    basicAnim.fromValue = [NSValue valueWithCGPoint:CGPointZero];
    basicAnim.toValue = [NSValue valueWithCGPoint:CGPointMake(200, 200)];

    //3. 持续时间
    basicAnim.duration = 1;

    //4. 将动画添加到图层上
    [view.layer addAnimation:basicAnim forKey:@"basic"];
}

- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {

//    [self transitionAnimation];
    [self scaleAnimation];
}

- (void)transitionAnimation {

    //1. 初始化动画对象 : keyPath是在动画过程中,需要改变的值
    CABasicAnimation *basicAnim = [CABasicAnimation animationWithKeyPath:@"position"];

    //2. 设置属性改变的值
    basicAnim.fromValue = [NSValue valueWithCGPoint:CGPointZero];
    basicAnim.toValue = [NSValue valueWithCGPoint:CGPointMake(200, 200)];
    basicAnim.byValue = [NSValue valueWithCGPoint:CGPointMake(100, 400)];

    //3. 持续时间
    basicAnim.duration = 1;
    //4. 将动画添加到图层上
    [self.imageView.layer addAnimation:basicAnim forKey:@"basic"];
}

- (void)scaleAnimation {

    CABasicAnimation *basic = [CABasicAnimation animationWithKeyPath:@"transform.scale"];

    basic.fromValue = @1;
    basic.toValue = @5;

    basic.duration = 1.0f;

    //开启动画回放
    basic.autoreverses = YES;

    [self.imageView.layer addAnimation:basic forKey:@"scaleAnimation"];
}

@end
 1 /**
 2  *  缩放
 3  */
 4 - (void)scaleAnimation {
 5
 6     CABasicAnimation *basic = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
 7
 8     basic.fromValue = @1;
 9     basic.toValue = @5;
10
11     basic.duration = 1.0f;
12
13     //开启动画回放
14     basic.autoreverses = YES;
15
16     basic.repeatCount = 3;
17     basic.repeatDuration = 6;
18     basic.beginTime = CACurrentMediaTime() + 3;
19
20     /*       kCAFillModeForwards //在动画结束播放之后,将图层保留结束为止
21              kCAFillModeBackwards //在动画没开始之前,将图层保留在起点位置
22              kCAFillModeBoth //上面两者集合
23              kCAFillModeRemoved //动画结束之后,移除动画效果,图层返回最初状态
24      */
25     basic.removedOnCompletion = YES;
26     basic.fillMode = kCAFillModeBoth;
27
28     [self.imageView.layer addAnimation:basic forKey:@"scaleAnimation"];
29 }
时间: 2024-10-14 15:27:40

CABasicAnimation-04-核心动画-day4的相关文章

CABasicAnimation基础核心动画

核心动画之作用在层上面.     动画的本质是改图层的某一个属性.     CABasicAnimation *anim = [CABasicAnimation animation];     图层有那些属性,这里才能写那些属性.     anim.keyPath = @"transform.scale";     anim.toValue = @0.5;     告诉动画完成的时候不要移除     anim.removedOnCompletion = NO;     保存动画最前面的

iOS:核心动画之基本动画CABasicAnimation

基本动画,是CAPropertyAnimation的子类 属性说明: fromValue:keyPath相应属性的初始值 toValue:keyPath相应属性的结束值 动画过程说明: 随着动画的进行,在长度为duration的持续时间内,keyPath相应属性的值从fromValue渐渐地变为toValue keyPath内容是CALayer的可动画Animatable属性 如果fillMode=kCAFillModeForwards同时removedOnComletion=NO,那么在动画执

核心动画基础动画(CABasicAnimation)关键帧动画

1.在iOS中核心动画分为几类: 基础动画(CABasicAnimation) 关键帧动画(CAKeyframeAnimation) 动画组(CAAnimationGroup) 转场动画(CATransition) 2.CAAnimation:核心动画的基础类,不能直接使用,负责动画运行时间,速度的控制,本身实现了CAMediaTiming协议 3.CAPropertyAnimation:属性动画也是基类(通过属性进行动画设置,注意是动画属性),不能直接使用. CABasicAnimation:

猫猫学IOS(三十九)UI之核心动画之CABasicAnimation(基础动画)

猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243?viewmode=contents 一.CABasicAnimation简介 CAPropertyAnimation的子类 属性解析: fromValue:keyPath相应属性的初始值 toValue:keyPath相应属性的结束值 随着动画的进行,在长度为duration的持续时间内,keyPath相应属性的值从fromValue渐渐地变为toValue 如

核心动画(CAKeyframeAnimation,CABasicAnimation)

一,核心动画常用的三种例子 view的核心动画其体现就是把view按照指定好的路径进行运动,针对的是view的整体. [view.layer addAnimation:动画路径 forKey:@"绑定动画路径的键值"]; A,view的整体按照指定好的路径进行运动,里面的子view固定在view不动情况: 1)创建需要显示的动画路径(动画路径可以是UIBezierPath,也可以是某个参数或点坐标等,如果是后者,则常常设置fromValue和toValue,通过它们来确定动画路径) C

核心动画

在ViewController.m中. @interface ViewController ()@property(nonatomic, strong) UIView * MyView;@end @implementation ViewController - (void)viewDidLoad {    [super viewDidLoad];            self.MyView = [[UIView alloc] initWithFrame:CGRectMake(100, 100,

IOS-CoreAnimation(核心动画)

一.核心动画 1.Core Animation是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍,使用它需要先添加QuartzCore.framework和引入对应的框架<QuartzCore/QuartzCore.h> 2.开发步骤: ①初始化一个动画对象(CAAnimation)并设置一些动画相关属性 ②添加动画对象到层(CALayer)中,开始执行动画 3.CALayer中很多属性都可以通过CAAnimation实现动画效果,包括:opacity.posi

iOS核心动画Core Animation(二)

一. 使用核心动画实现动画效果的步骤 ■1. 创建动画对象 ■2. 设置动画属性 ■3. 把动画对象添加到某个 CALayer 对象上 ■4. 需要停止动画:可以调用 remove 方法移除动画 具体步骤 1.使用它需要先添加QuartzCore.framework框架和引入主头文件<QuartzCore/QuartzCore.h> 2.初始化一个CAAnimation对象,并设置一些动画相关属性 3.通过调用CALayer的addAnimation:forKey:方法增加CAAnimatio

iOS核心动画Core Animation(一)

核心动画Core Animation(一) 一.简述 Core Animation是直接作用在CALayer上的(并非UIView上)非常强大的跨Mac OS X和iOS平台的动画处理API,Core Animation的动画执行过程都是在后台操作的,不会阻塞主线程. 二.核心动画常识 列举处核心动画的一些常识知识. 核心动画的本质:在后台移动图层中的内容,  执行完毕后图层本身的位置并没有发生变化. 如果是Xcode6之前的版本,要导入<QuartzCore/QuartzCore.h>框架,

核心动画 (CAAnimationGroup)

Main.storyboard ViewController.m // //  ViewController.m //  8A05.核心动画 CAAnimationGroup // //  Created by huan on 16/2/5. //  Copyright © 2016年 huanxi. All rights reserved. // #import "ViewController.h" @interface ViewController () @property (we