图层的核心动画(CABaseAnimation)
Main.storyboard
//
// ViewController.m
// 7A14.图层的核心动画
//
// 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.imageView.layer.bounds = CGRectMake(0, 0, 150, 150);
//想要在根层执行动画,使用核心动画
//1.创建一个核心动画对象
CABasicAnimation *animation = [CABasicAnimation animation];
#warning 核心动画,只是一个假象,真实的大小是没有变化
/*
* 解决方案1:如果想控制的大小真实改变,要在动画结束设置控制的尺寸
* 解决方案2:使动画保存执行之后的状态,默认动画执行完后,会返回原来的状态
*/
//设置图形的属性来决定动画类型
//bounds 图层尺寸动画
animation.keyPath = @"bounds";
//设置bounds尺寸变化后的大小
animation.toValue = [NSValue valueWithCGRect:CGRectMake(0, 0, 150, 150)];
//解决方案1:动画的代理
//动画的代理
animation.delegate = self;
//解决方案2:使动画保存之后的状态,只要设置动画的两个属性
// animation.removedOnCompletion = NO; //动画对象不要移除
// animation.fillMode = kCAFillModeForwards;//保存当前的状态
//2.往控件的图层添加动画
[self.imageView.layer addAnimation:animation forKey:nil];
}
-(void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag{
self.imageView.bounds = CGRectMake(0, 0, 150, 150);
}
@end
结果
图层的核心动画(CABaseAnimation)的更多相关文章
- 图层的核心动画(CABaseAnimation)续
Main.storyboard ViewController.m // // ViewController.m // 8A01.核心动画 // // Created by huan on 16/ ...
- 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 ...
随机推荐
- 按钮打开链接,按钮click代码
procedure TForm1.GotoURL(sURL:String);begin with dde do begin ServiceApplication:='C:\P ...
- 编程工具系列之二------使用GDB的源代码查看功能
在调试程序的过程中,可以自由地查看相关的源代码(如果有源代码的话)是一项最基本的特性. 一些IDE在这方面做得相当好,GDB当然也提供了这项特性,虽然不如IDE直观,但在一定程度上要比IDE ...
- Android ImageView显示本地图片
Android ImageView 显示本地图片 布局文件 <?xml version="1.0" encoding="utf-8"?> <R ...
- JavaScript基础篇
写的不错,转 http://www.cnblogs.com/suoning/p/5656403.html
- 9.S5PV210的时钟系统
1.时钟域:MSYS.DSYS.PSYS(1)因为S5PV210的时钟体系比较复杂,内部外设模块太多,因此把整个内部的时钟划分为3大块,叫做3个域.(2)MSYS: CPU(Cortex-A8内核). ...
- hive中的一些参数
动态分区 设置如下参数开启动态分区:hive.exec.dynamic.partition=true默认值:false描述:是否允许动态分区hive.exec.dynamic.partition.mo ...
- codeforces 360 C - NP-Hard Problem
原题: Description Recently, Pari and Arya did some research about NP-Hard problems and they found the ...
- VC++ MFC子对话框建立与关闭
主窗体 void CMoshiwindowDlg::OnButton1() { // TODO: Add your control notification handler code here CDi ...
- static 变量
被static 修饰的变量全部称为静态变量.所有的静态变量全部存储在静态存储区.按静态变量定义的位置不同,又分为全局静态变量和局部静态变量. 1)全局静态变量 在全局变量的说明前加上static,就是 ...
- device tree 生成device node 到 platform_device
http://blog.csdn.net/lichengtongxiazai/article/details/38942033 http://blog.csdn.net/mcgrady_tracy/a ...