如何在ios中运用core animation暂停和继续动画

核心代码如下

//暂停layer上面的动画

- (void)pauseLayer:(CALayer*)layer
{
    CFTimeInterval pausedTime = [layer convertTime:CACurrentMediaTime() fromLayer:nil];
    layer.speed = 0.0;
    layer.timeOffset = pausedTime;
}

//继续layer上面的动画

- (void)resumeLayer:(CALayer*)layer
{
    CFTimeInterval pausedTime = [layer timeOffset];
    layer.speed = 1.0;
    layer.timeOffset = 0.0;
    layer.beginTime = 0.0;
    CFTimeInterval timeSincePause = [layer convertTime:CACurrentMediaTime() fromLayer:nil] - pausedTime;
    layer.beginTime = timeSincePause;
}
时间: 2024-11-11 05:13:42

如何在ios中运用core animation暂停和继续动画的相关文章

在ios中运用core animation暂停和继续动画

本文转载至 http://blog.csdn.net/wildfireli/article/details/23191861 暂停和继续动画的核心代码如下: [cpp] view plaincopy <pre name="code" class="cpp">//暂停layer上面的动画 - (void)pauseLayer:(CALayer*)layer { CFTimeInterval pausedTime = [layer convertTime:C

如何在iOS中使用Block

如何在iOS中使用Block Block可以帮助我们组织独立的代码段,并提高复用性和可读性.iOS4在UIKit中引入了该特征.超过100个的Apple API都使用了Block,所以这是一个我们必须开始熟悉的知识. Block是什么样的? 你可以使用^操作符来声明一个Block变量,它表示一个Block的开始. int num1 = 7; int(^aBlock)(int) = ^)int num2) { return num1+nunm2; }; 在如上代码中我们将Block声明为一个变量,

如何在iOS中使用libxml

本篇文章简单介绍如何在iOS中使用libxml Mac OS版本:10.8.2 XCode版本:4.5.1 1. 选择xcode工程设定 2. 选择target 3. 选择Summary 4. 拉到Linked Frameworks and Libraries的地方,按下+按键 输入libxml并选择libxml2,按下Add按键 如此便可在工程中看到libxml2.dylib 如同第一张图中,改选到Build Setting 往下拉找到Search Paths在里面找到Header Searc

iOS开发之Core Animation

1.Core Animation,核心动画,他是一组非常强大的动画处理API,可以用在MAC OSX 和iOS平台. 2.Core Animation的动画执行都是在后台操作的,不会阻塞主线程. 3.Core Animation是直接作用在CALayer上,并非UIView上. 4.核心动画中所有类都遵守CAMediaTiming协议,CoreAnimation是个抽象类,必须使用它的子类才有动画效果. 如下图所示:只有CAAnimationGroup和CATransition才有动画效果. C

iOS Core Animation Advanced Techniques-隐式动画

上六章节: 图层树 图层的寄宿图 图层几何学 图层视觉效果 图层变换 专用图层 这篇随笔主要介绍有关图层隐式动画. 隐式动画: 没有指定任何动画类型,而改变了一个属性,Core Animation决定如何并且何时去做动画. 动画执行的事件取决于当前事务的设置: 动画类型取决于图层行为. Core Animation假设屏幕上任何东西都可能做动画,默认动画效果是打开的. 当CALayer的一个 可做动画的 属性 被改变,默认从先前值平滑过渡到新值,而不是立刻显示新值在屏幕上,因此携带了隐式动画.

iOS Core Animation Advanced Techniques-显式动画

上七章节: 图层树 图层的寄宿图 图层几何学 图层视觉效果 图层变换 专用图层 隐式动画 这篇随笔主要介绍有关图层显式动画. 显示动画: 能对一些属性做指定的自定义动画,或者创建非线性动画 属性动画: 属性动画作用于图层的某个单一属性,并指定了它的一个目标值,或一连串将要做动画的值 属性动画分两种: 1.基础 2.关键帧 基础动画:(通过CALayer的实例方法addAnimation: forKey:给图层添加显示动画) CABasicAnimation-->CAPropertyAnimati

如何在ios中集成微信登录功能

在ios中集成微信的登录功能有两种方法 1 用微信原生的api来做,这样做的好处就是轻量级,程序负重小,在Build Settings 中这样设置 然后设置 友盟的设置同上,但是要注意,加入你需要的所有框架到应用程序中

iOS Core Animation学习总结(3)--动画的基本类型

一. CABasicAnimation (基础动画) 移位: CABasicAnimation *animation = [CABasicAnimation animation]; //keyPath指定动画类别,position表示移位 animation.keyPath = @"position"; //移动到x=200,y=200的位置 animation.toValue = [NSValue valueWithCGPoint:CGPointMake(200, 200)]; an

Core Animation之CABasicAnimation(基础动画)

#import "ViewController.h" @interface ViewController () @property(nonatomic,strong)UIButton *btn; @property(nonatomic,strong)CALayer *calayer; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; self.btn=[UIButton butt