本文转载至 http://adad184.com/2015/04/14/opensource-mmtweenanimation/

前言


MMTweenAnimation其实酝酿了有一段时间了 起因是对POP重度使用后(POP上手教程) 感到的一丝不足

  • 首先 POP提供的自带动画类型太少(比如想实现如下图的物体落地的动画)
  • 其次 除了POPBasicAnimation之外 无法控制动画的duration

所以趁着休陪产假的空档 研究并做出了MMTweenAnimation的第一版

介绍


MMTweenAnimation 是基于Facebook的POP的动画扩展类 提供10种不同的函数动画

Back Bounce Circ Cubic Elastic
Expo Quad Quart Quint Sine

建议使用cocoapod安装

1
pod 'MMTweenAnimation'

使用方式如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
MMTweenAnimation *anim = [MMTweenAnimation animation];
anim.functionType = MMTweenFunctionBounce;
anim.easingType = MMTweenEasingOut;
anim.duration = 2.0f;
anim.fromValue = 0;
anim.toValue = 200;
anim.animationBlock = ^(double c,double d,double v,id target,MMTweenAnimation *animation)
{
//c: current time, from the beginning of animation
//d: duration, always bigger than c
//v: value, after the change at current time UIView *t = (UIView*)target;
t.center = CGPointMake(t.x, v);
}; [targetView pop_addAnimation:anim forKey:@"center.y"];

小结


库中的动画函数部分借鉴自tweener, 同时有个很棒的网站对这些动画进行了展示

后续可能还会添加一些功能 比如

  • 提供更多类型的动画函数
  • 提供用户自定义的动画函数
  • 动画函数的系数可调节

开源项目:MMTweenAnimation的更多相关文章

  1. Github上关于iOS的各种开源项目集合(强烈建议大家收藏,查看,总有一款你需要)

    下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件. SVPullToRefresh - 下拉刷新控件. MJRefresh - 仅需一行代码就可以为UITableVie ...

  2. iOS及Mac开源项目和学习资料【超级全面】

    UI 下拉刷新 EGOTableViewPullRefresh – 最早的下拉刷新控件. SVPullToRefresh – 下拉刷新控件. MJRefresh – 仅需一行代码就可以为UITable ...

  3. iOS开发--iOS及Mac开源项目和学习资料

    文/零距离仰望星空(简书作者)原文链接:http://www.jianshu.com/p/f6cdbc8192ba著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 原文出处:codecl ...

  4. iOS、mac开源项目及库汇总

    原文地址:http://blog.csdn.net/qq_26359763/article/details/51076499    iOS每日一记------------之 中级完美大整理 iOS.m ...

  5. github上关于iOS的各种开源项目集合(转)

    UI 下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件. SVPullToRefresh - 下拉刷新控件. MJRefresh - 仅需一行代码就可以为UITable ...

  6. iOS:开发常用GitHub开源项目(持续更新)

    IOS开发常用GitHub开源项目(持续更新) 数据类 开源库 作者 简介 AFNetworking Mattt 网络请求库 ASIHTTPRequest pokeb 网络请求库 Alamofire ...

  7. iOS -- 开源项目和库

    TimLiu-iOS 目录 UI 下拉刷新 模糊效果 AutoLayout 富文本 图表 表相关与Tabbar 隐藏与显示 HUD与Toast 对话框 其他UI 动画 侧滑与右滑返回手势 gif动画 ...

  8. 最全面的iOS和Mac开源项目和第三方库汇总

    标签: UI 下拉刷新 EGOTableViewPullRefresh – 最早的下拉刷新控件. SVPullToRefresh – 下拉刷新控件. MJRefresh – 仅需一行代码就可以为UIT ...

  9. 转: Github上关于iOS的各种开源项目集合

    https://blog.csdn.net/jiashaoying/article/details/79079500 下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件. ...

随机推荐

  1. python 调用pymysql模块遇到\转义问题解决办法

    1.问题情况 本来存入mysql的是字典,有汉字,由于python版本是2.7,所以在json的时候把我的值变成了unicode,那么在调用pymysql的时候,mysql给我转义取消了. 存之前: ...

  2. Lucene系列一:搜索引擎核心理论

    一.为什么需要搜索引擎 问题1:数据库索引的原理是怎样的? 索引原理:对列值创建排序存储,数据结构={列值.行地址}.在有序数据列表中就可以利用二分查找快速找到要查找的行的地址,再根据地址直接取行数据 ...

  3. Maven项目对象模型(POM)

    Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具. Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具.由于 Maven 的缺省构建 ...

  4. C#基础 ---------------单利模式

    一.引言 最近在设计模式的一些内容,主要的参考书籍是<Head First 设计模式>,同时在学习过程中也查看了很多博客园中关于设计模式的一些文章的,在这里记录下我的一些学习笔记,一是为了 ...

  5. c、c++---linux上的GetTickCount函数

    http://blog.csdn.net/guang11cheng/article/details/6865992 http://wenda.so.com/q/1378766306062794

  6. Oracle错误IMP-00010: 不是有效的导出文件, 头部验证失败 分类: Oracle 2015-07-09 13:56 20人阅读 评论(0) 收藏

    Oracle 11g的dmp备份文件导入到Oracle 10g,出现错误信息: Import: Release 10.2.0.1.0 - Production on 星期四 7月 9 13:47:04 ...

  7. Oracle触发器给表自身的字段重新赋值出现ORA-04091异常

    业务描述如下: 在插入一个表的时候,需要根据一个字段的值更新另一个字段的值.当然也可以通过程序就能很简单得实现,只是这个字段只是数据交换用,和系统主业务没关系,不想修改程序,所以才用触发器的方式实现. ...

  8. JavaSE(二)之继承、封装、多态

    学习完类与对象终于认识到什么是类,什么是对象了.接下来要看的就是java的三大特征:继承.封装.多态. 一.封装(数据的隐藏) 在定义一个对象的特性的时候,有必要决定这些特性的可见性,即哪些特性对外部 ...

  9. AsyncTask异步类的简单操作

    package com.example.day9; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; im ...

  10. IT建设如何面对“短板”和“孤峰”?

    在与很多企业探讨信息化建设时,很多IT负责人都提出过一个问题,企业信息化建设的资源是有限的,信息化的资源是先强化企业的“孤峰”还是先支持“短板”?   企 业虽说是一个整体,但不同的领域如研发.生产. ...