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

需要注意的细节:

目录
相关文章
|
8月前
|
开发者 iOS开发
如何使用 Instruments 工具来分析应用的性能?
如何使用 Instruments 工具来分析应用的性能?
222 2
|
8月前
|
测试技术 iOS开发
用Instruments分析内存使用情况
用Instruments分析内存使用情况
598 1
|
Dart API 容器
Flutter GetX使用详细解读
FlutterGetX 是一个基于 Flutter 框架的状态管理和依赖注入库。它与其他状态管理库相比,具有以下优势。
Flutter GetX使用详细解读
|
程序员 开发工具 iOS开发
UIVisualEffectView 毛玻璃效果
UIVisualEffectView 毛玻璃效果
610 0
|
缓存 算法 测试技术
iOS UITableView性能优化
iOS UITableView性能优化
iOS UITableView性能优化
|
JSON 缓存 API
iOS中的一些小功能和技巧
iOS中的一些小功能和技巧
549 0
iOS中的一些小功能和技巧
|
API 调度 iOS开发
iOS定时器 你真的会使用吗?
定时器的使用是软件开发基础技能,用于延时执行或重复执行某些方法。定时器 你真的会使用吗?iOS定时器详解
622 0
UIcollectionViewCell(UItableviewcell)长按删除操作
功能简单,陷阱不少: 主要涉及两个功能: 1、长按手势:UILongPressGestureRecognizer 2、cell自带的删除操作:deleteItemsAtIndexPaths 首先为cell添加长按手势: UILongPressGestureRecognizer* longgs=[[UILongPressGestureRecognizer all
1555 0
|
编译器 Swift 开发者
对Swift中some和any关键字的理解
在最新Swift版本中(Xcode14,Swift5.7),如果协议中有使用泛型,则如果要将此协议作为参数类型,必须使用any关键字进行修饰。其实在Swift5.1中也引入过一个some关键字,any和some都适用于协议,这两个关键字从语义上和写法上对泛型的使用进行了优化。
1028 0