CABasicAnimation 使用

1. 基本使用

UIView * view = [[UIView alloc]initWithFrame:CGRectMake(50, 50, 50,50)];

view.backgroundColor = [UIColor orangeColor];

[self.view addSubview:view];

/////

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

anim.duration = 0.5;

anim.repeatCount = 1;

anim.fromValue = @1;

anim.toValue = @0.3;

[view.layer addAnimation:anim forKey:nil];

这个动画的作用是,view的大小在0.5秒之内,缩小到原来的30%,然后迅速的回到原来的大小。

如果anim.autoreverses 设置为YES的话,那就不是“迅速”变为原来的大小,而是从30%的大小反过来变成原来的大小,时间也未duration的值。

这里的 duration为一个repeat的时间,也就是说,如果repeatCount为10,那其实就是10个duration的时间(如果duration为YES的话,还需要*2)

如何让动画结束后保持动画后的状态?

   上面的例子我们看到,动画在结束的时候,返回到原来的大小了,那么如何才能使得动画结束后保持在30%的状态呢?

如下两个语句可以满足:anim.removedOnCOmpletion = NO;  anim.fillMode = kCAFillModeForwards;

2.keypath 可以取值如下

transform.scale = 比例轉換

transform.scale.x = 闊的比例轉換

transform.scale.y = 高的比例轉換

transform.rotation.z = 平面圖的旋轉

opacity = 透明度

margin

zPosition

backgroundColor    背景颜色

cornerRadius    圆角

borderWidth

bounds

contents

contentsRect

cornerRadius

frame

hidden

mask

masksToBounds

opacity

position

shadowColor

shadowOffset

shadowOpacity

shadowRadius

时间: 2024-10-20 00:47:27

CABasicAnimation 使用的相关文章

基本动画CABasicAnimation - 完成之后闪回初始状态

基本动画CABasicAnimation 结束之后,默认闪回初始状态,那怎么解决呢? position需要设备两个属性: 1 // MARK: - 结束后不要闪回去 2 anim.removedOnCompletion = NO; 3 anim.fillMode = kCAFillModeForwards; 设置之后,不会再闪回去,但其实控件的位置并未改变,还在原来的位置,只是"显示层"挪到了新位置. 可以通过动画的代理方法来实现: // MARK: - 通过代理方法,修正按钮的位置!

coreAnimation核心动画(一)CABasicAnimation

2 1 // 2 // ViewController.m 3 // coreAnimation 4 // 5 // Created by ys on 15/11/21. 6 // Copyright (c) 2015年 ys. All rights reserved. 7 // 8 9 #import "ViewController.h" 10 11 @interface ViewController () 12 @property (nonatomic,strong)CALayer

CABasicAnimation学习Demo 包含了一些经常使用的动画效果

个人写的一些样例: // // ViewController.m // CABasicAnimationDemo // // Created by haotian on 14-6-13. // Copyright (c) 2014年 Baseus. All rights reserved. // #import "ViewController.h" @interface ViewController () @end @implementation ViewController @syn

CABasicAnimation学习Demo 包括了一些常用的动画效果

个人写的一些例子: // // ViewController.m // CABasicAnimationDemo // // Created by haotian on 14-6-13. // Copyright (c) 2014年 Baseus. All rights reserved. // #import "ViewController.h" @interface ViewController () @end @implementation ViewController @syn

CABasicAnimation 按home键后台之后,再切回来动画就停止

RemovedOnCompletion 这个属性默觉得 YES,那意味着,在指定的时间段完毕后,动画就自己主动的从层上移除了.这个一般不用. 假如你想要再次用这个动画时,你须要设定这个属性为 NO.这种话,下次你在通过-set 方法设定动画的属 性时,它将再次使用你的动画,而非默认的动画. 假设CABasicAnimation 按home键后台之后,再切回来动画就停止,仅仅要将RemovedOnCompletion属性设为no

CABasicAnimation animationWithKeyPath 一些规定的值

CABasicAnimation   animationWithKeyPath   Types When using the 'CABasicAnimation' from the QuartzCore Framework in Objective-C, you have to specify an animationWithKeyPath.  This is a long string and is not easily listed in the CABasicAnimation, CAPr

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

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

iOS开发——动画编程Swift篇&(四)CABasicAnimation动画

CABasicAnimation动画 1 //CABasicAnimation-不透明度 2 @IBAction func cabOpacity() 3 { 4 let animation = CABasicAnimation(keyPath: "opacity") 5 6 animation!.fromValue = 1.0 7 animation!.toValue = 0.0 8 animation.duration = 3.0 9 self.testImageView.layer

CABasicAnimation 核心动画

// //  ZBMainViewController.m //  TestProject // //  Created by 张先森 on 14/12/5. //  Copyright (c) 2014年 zhibin. All rights reserved. // #import "ZBMainViewController.h" @interface ZBMainViewController () @property(nonatomic,strong)CALayer *mylay

iOS动画:UIView动画和CALayer动画(CABasicAnimation、CAKeyframeAnimation的使用)

iOS中的动画有两种实现方式,一种是UIView来实现动画,另一种动画是通过CALayer来实现,下面介绍两种动画的简单实现: 一.UIView动画的实现 UIView使用Context来实现动画 关键代码: //参数1 动画名称 参数2 要实现动画的对象上下文          [UIView beginAnimations:@"attribute" context:_showImageView];          //设置动画的时间     [UIView setAnimatio