CAMediaTimingFunction的使用

简介:

CAMediaTimingFunction的使用

 

CAMediaTimingFunction可以用在POP动画的自定义动画当中,算是非常实用的工具,当然,系统的动画也是可以使用的.

 

效果:

 

需要用到的工具:

https://github.com/YouXianMing/Tween-o-Matic-CN

 

测试用源码:

//
//  ViewController.m
//  CoreAnimation
//
//  Created by XianMingYou on 15/4/13.
//  Copyright (c) 2015年 XianMingYou. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];


    // 初始化layer
    CALayer *layer        = [CALayer layer];
    layer.frame           = CGRectMake(50, 50, 200, 2);
    layer.backgroundColor = [UIColor blackColor].CGColor;
    
    
    // 终点位置
    CGPoint endPosition = CGPointMake(layer.position.x, layer.position.y + 200);
    
    
    // 动画
    CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position"];
    animation.fromValue         = [NSValue valueWithCGPoint:layer.position];
    animation.toValue           = [NSValue valueWithCGPoint:endPosition];
    animation.timingFunction    = [CAMediaTimingFunction functionWithControlPoints:0.20 :0.03 :0.13 :1.00];
    layer.position              = endPosition;
    animation.duration          = 1.f;
    
    
    // 添加动画
    [layer addAnimation:animation forKey:nil];
    

    // 添加layer
    [self.view.layer addSublayer:layer];
}

@end

需要注意的细节:

目录
相关文章
|
数据可视化 开发工具 uml
Markdown 拓展:Gitlab/Github 开启 UML 图支持
为什么需要它 一些可视化工具再给我们带来直观性的同时,也增加了操作的难度,需要精细地调整组件的大小和样式,更多的时候,我们不是为了写一份漂亮的报告而画流程图,只是需要便捷地向他人分享自己的 idea,在这样的需求下,代码生成流程图显然更适合。
886 0
|
iOS开发
iOS利用锚点实现定点缩放弹窗
iOS利用锚点实现定点缩放弹窗
679 0
iOS利用锚点实现定点缩放弹窗
|
9月前
|
开发者 iOS开发
如何使用 Instruments 工具来分析应用的性能?
如何使用 Instruments 工具来分析应用的性能?
242 2
|
编译器 Swift 开发者
对Swift中some和any关键字的理解
在最新Swift版本中(Xcode14,Swift5.7),如果协议中有使用泛型,则如果要将此协议作为参数类型,必须使用any关键字进行修饰。其实在Swift5.1中也引入过一个some关键字,any和some都适用于协议,这两个关键字从语义上和写法上对泛型的使用进行了优化。
1036 0
|
9月前
|
测试技术 iOS开发
用Instruments分析内存使用情况
用Instruments分析内存使用情况
635 1
|
C++
ARC下dealloc过程及.cxx_destruct的探究
ARC下dealloc过程及.cxx_destruct的探究 我是前言 这次探索源自于自己一直以来对ARC的一个疑问,在MRC时代,经常写下面的代码:  1 2 3 4 5 6 7 8 9 - (void)dealloc { self.
1427 0
|
JSON 缓存 API
iOS中的一些小功能和技巧
iOS中的一些小功能和技巧
555 0
iOS中的一些小功能和技巧
|
JSON 自然语言处理 编译器
Alibaba.com瘦包40MB——业界最全的iOS包大小技术总结
前言包大小是衡量APP性能的一项重要指标,它直接影响用户的下载点击率(包太大不想下)、下载安装成功率(下载慢不用了)、APP卸载率(太占空间先删掉)。包大小的计算逻辑很简单,它是各种类型的文件占用磁盘大小相加。APP瘦身的技术却很复杂,代码文件的复杂度和编译器策略决定了可执行文件的大小,业务功能和工程架构决定了代码文件的复杂度。iOS APP瘦身,需要掌握的技能有XCode构建技术、LLVM编译器
3926 0
Alibaba.com瘦包40MB——业界最全的iOS包大小技术总结

热门文章

最新文章