图层的核心动画(CABaseAnimation)续
Main.storyboard
ViewController.m
//
// ViewController.m
// 8A01.核心动画
//
// Created by huan on 16/2/4.
// Copyright © 2016年 huanxi. All rights reserved.
//
#import "ViewController.h"
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
}
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
// [self testPositionAnimation];
// [self testTransformAnimation];//形变属性:平移
// [self testTransformRotationAnimation];
[self testTransformScaleAnimation];
}
#pragma mark 测试位置的动画
-(void)testPositionAnimation{
//核心动画使用步骤
//1.创建一个动画对象
CABasicAnimation *animation = [CABasicAnimation animation];
//设置动画类型
animation.keyPath = @"position";
//动画执行的“初始状态”
// animation.fromValue = [NSValue valueWithCGPoint:CGPointMake(100, 100)];
//动画执行的"最终状态"
// animation.toValue = [NSValue valueWithCGPoint:CGPointMake(100, 250)];
//每次动画执行的“增加值”
animation.byValue = [NSValue valueWithCGPoint:CGPointMake(10, 10)];
//保存动画执行状态
//解决方案2:使动画保存执行之后的状态,只要设置动画的两个属性
animation.removedOnCompletion = NO;// 动画对象不要移除
animation.fillMode = kCAFillModeForwards;//保存当前的状态
//2.往控件的图层添加动画
[self.imageView.layer addAnimation:animation forKey:nil];
}
#pragma mark 测试形变的“平移动画”
-(void)testTransformAnimation{
//1.创建一个动画对象
CABasicAnimation *animation = [CABasicAnimation animation];
//设置动画类型
// animation.keyPath = @"transform.translation";
animation.keyPath = @"transform.translation.x";
//每次动画执行的“增加值”
// animation.byValue = [NSValue valueWithCGPoint:CGPointMake(10, 10)];
//byValue的数据类型是 keypath 决定的
animation.byValue = @10;
//保存动画执行状态
//解决方案2:使动画保存执行之后的状态,只要设置动画的两个属性
animation.removedOnCompletion = NO;// 动画对象不要移除
animation.fillMode = kCAFillModeForwards;//保存当前的状态
//2.往控件的图层添加动画
[self.imageView.layer addAnimation:animation forKey:nil];
}
#pragma mark 测试形变的“旋转”的动画
-(void)testTransformRotationAnimation{
//1.创建一个动画对象
CABasicAnimation *animation = [CABasicAnimation animation];
//设置动画类型
animation.keyPath = @"transform.rotation.x";
//byValue的数据类型是 keypath 决定的
animation.byValue = @(M_PI_4);
//保存动画执行状态
//解决方案2:使动画保存执行之后的状态,只要设置动画的两个属性
animation.removedOnCompletion = NO;// 动画对象不要移除
animation.fillMode = kCAFillModeForwards;//保存当前的状态
//2.往控件的图层添加动画
[self.imageView.layer addAnimation:animation forKey:nil];
}
#pragma mark 测试形变的“缩放”的动画
-(void)testTransformScaleAnimation{
//1.创建一个动画对象
CABasicAnimation *animation = [CABasicAnimation animation];
//设置动画类型 ==>>keyPath 设置图层的属性 bounds/position/transform
// animation.keyPath = @"transform.translation";
// animation.keyPath = @"transform.scale";
animation.keyPath = @"transform.scale.x";
//设置动画的时间
animation.duration = 3;
//byValue的数据类型是 keypath 决定的
animation.byValue = @1.5;
//保存动画执行状态
//解决方案2:使动画保存执行之后的状态,只要设置动画的两个属性
animation.removedOnCompletion = NO;// 动画对象不要移除
animation.fillMode = kCAFillModeForwards;//保存当前的状态
//2.往控件的图层添加动画
[self.imageView.layer addAnimation:animation forKey:nil];
}
@end
结果
图层的核心动画(CABaseAnimation)续的更多相关文章
- 图层的核心动画(CABaseAnimation)
Main.storyboard // // ViewController.m // 7A14.图层的核心动画 // // Created by huan on 16/2/4. // Copyr ...
- ios开发之图层与核心动画一:图层CALayer的认识
#import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutl ...
- iOS核心动画高级技巧之图层变换和专用图层(二)
iOS核心动画高级技巧之CALayer(一) iOS核心动画高级技巧之图层变换和专用图层(二)iOS核心动画高级技巧之核心动画(三)iOS核心动画高级技巧之性能(四)iOS核心动画高级技巧之动画总结( ...
- iOS核心动画(专用图层篇)
之前的文章我们了解了Core Animation中图层的一些基础知识.没有看过的传送门在此: iOS核心动画基础篇 那么在了解了这些基础知识之后,接下来进入专用图层的了解 苹果为了方便和性能,封装了几 ...
- iOS开发UI篇—核心动画(基础动画)
转自:http://www.cnblogs.com/wendingding/p/3801157.html 文顶顶 最怕你一生碌碌无为 还安慰自己平凡可贵 iOS开发UI篇—核心动画(基础动画) iOS ...
- iOS开发UI篇—核心动画简介
转自:http://www.cnblogs.com/wendingding/p/3801036.html iOS开发UI篇—核心动画简介 一.简单介绍 Core Animation,中文翻译为核心动画 ...
- 核心动画 (CAAnimationGroup)
Main.storyboard ViewController.m // // ViewController.m // 8A05.核心动画 CAAnimationGroup // // Creat ...
- iOS开发——UI进阶篇(十七)CALayer,核心动画基本使用
一.CALayer简介 1.CALayer在iOS中,文本输入框.一个图标等等,这些都是UIView你能看得见摸得着的东西基本上都是UIView,比如一个按钮.一个文本标签.一个其实UIView之所以 ...
- 核心动画基础动画(CABasicAnimation)关键帧动画
1.在iOS中核心动画分为几类: 基础动画(CABasicAnimation) 关键帧动画(CAKeyframeAnimation) 动画组(CAAnimationGroup) 转场动画(CATran ...
随机推荐
- Git保存密码
TortoiseGit中,通过https方式连接时,默认是不会保存帐号密码,需要我们每次输入一次,真心很麻烦! 通过简单的设置,就可以解决这一问题! 编辑仓库目录中本地的”.git/config”文件 ...
- StaticPagedList
估计是因为水平原因,之前看别人写的用pagedList分页,老是云里雾里的.下面把自己写的整理一下放在上面.这里的List为对应页面展示的内容.不用查询所有. Action: public Actio ...
- Java NIO教程 目录
"Java NIO系列教程" 是笔者hans为NIO的初学者编写的一份入门教程,想仔细学习的同学可以按照顺序去阅读.由于我学的也不是特别的精,所以错误.疏漏在所难免,希望同学们指正 ...
- linux下编译bib、tex生成pdf文件
实验: 在linux环境下,编译(英文)*.bib和*.tex文件,生成pdf文件. 环境: fedora 20(uname -a : Linux localhost.localdomain 3.19 ...
- [原创]NIOS小知识总结
本文记录了在使用NIOS中遇到的一些问题和相关的原因分析及解决办法,做个总结方便以后查阅.也希望可以帮到有同样问题的攻城狮.本文长期更新,遇到了就写下. 本人使用软件版本:QuartusII 13.0 ...
- MySQL 数据库常用命令
1.MySQL常用命令 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删除数据库,不提醒 show ...
- html+css 技巧
3.css定义的技巧:[1].为了将来的css代码优化,建议所有的属性上要带上“:” [2].某些html 标签,有自己默认的css属性值, 例如h1 标签就有自己的属性值,自动就是加粗显 ...
- 记录那些我不清楚的知识点(HTML)
<div class="link"><a href="http://www.baidu.com/" target="iframeHt ...
- centos文件误删除恢复
Centos 文件误删除 当意识到误删除文件后,切忌千万不要再频繁写入了,否则 你的数据恢复的数量将会很少. 而我们要做的是,第一时间把服务器上的服务全部停掉,直接killall 进程名 或者 kil ...
- HYSBZ 4551 (树状数组) 采花
题目:这里 题意: 在2016年,佳媛姐姐刚刚学习了树,非常开心.现在他想解决这样一个问题:给定一颗有根树(根为1),有以下 两种操作:1. 标记操作:对某个结点打上标记(在最开始,只有结点1有标记, ...