用POP动画引擎实现弹簧动画(POPSpringAnimation)

时间:2022-09-22 18:34:40

效果图:

用POP动画引擎实现弹簧动画(POPSpringAnimation)

#import "ViewController.h"
#import <POP.h> @interface ViewController () @property (nonatomic, weak) UIView *testView; @end @implementation ViewController - (void)viewDidLoad
{
[super viewDidLoad]; self.view.backgroundColor = [UIColor blackColor]; // 初始化测试控件
UIView *testView = [[UIView alloc] initWithFrame:CGRectMake(, , , )];
testView.center = self.view.center;
testView.backgroundColor = [UIColor redColor];
self.testView = testView;
[self.view addSubview:testView];
} - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
// 初始化弹簧动画
POPSpringAnimation *springAnimation = [POPSpringAnimation animationWithPropertyNamed:kPOPLayerBounds];
springAnimation.springSpeed = ; // 设置动画速度(常用)
springAnimation.springBounciness = ; // 设置弹性大小(常用)
// springAnimation.dynamicsFriction = 10; // 设置阻止弹性的阻力(选用)
// springAnimation.dynamicsTension = 100; // 设置弹性的张力(可以理解为每次变大的程度, 选用)
if (self.testView.frame.size.width == ) {
springAnimation.toValue = [NSValue valueWithCGRect:CGRectMake(, , , )];
} else {
springAnimation.toValue = [NSValue valueWithCGRect:CGRectMake(, , , )];
} // 添加动画
[self.testView.layer pop_addAnimation:springAnimation forKey:nil];
} @end

github:https://github.com/RinpeChen/POPSpringAnimationDemo

用POP动画引擎实现弹簧动画(POPSpringAnimation)的更多相关文章

  1. 用POP动画引擎实现衰减动画&lpar;POPDecayAnimation&rpar;

    效果图: #import "ViewController.h" #import <POP.h> @interface ViewController () @end @i ...

  2. &lbrack;译&rsqb;理解 Windows UI 动画引擎

    本文译自 Nick Waggoner 的 "Understand what’s possible with the Windows UI Animation Engine",已获原 ...

  3. pop弹簧动画实现

    POP是一个在iOS与OS X上通用的极具扩展性的动画引擎.它在基本的静态动画的基础上增加的弹簧动画与衰减动画,使之能创造出更真实更具物理性的交互动画.POP的API可以快速的与现有的ObjC代码集成 ...

  4. 聊聊动画引擎 pop

    iOS可以通过CADisplayLink实现自定义动画引擎,pop就是基于此实现的,而且比原生Core Animation更强大好用.譬如当ViewController侧滑返回的时候,系统会将Core ...

  5. POP动画引擎中Layer与CALayer的一点区别

    POP动画引擎是facebook提供的一个开源框架, 可以实现很多的动画效果, 这里就不一一介绍啦, 有兴趣的童鞋请移步: https://github.com/facebook/pop 下面简单的讲 ...

  6. CADisplayLink&plus;弹簧动画实现果冻效果

    项目中在Tabbar中间的按钮要从底部弹出视图并有果冻效果,在CocoaChina中找了一篇博客用 UIBezierPath 实现果冻效果,github,自己就按着上面的demo修改了一下( 之前也是 ...

  7. SpriteSheet精灵动画引擎

    SpriteSheet精灵动画引擎   本文介绍Flash中SpriteSheet精灵序列图与其它渲染方式的性能对比.SpriteSheet的原理及注意实现,最后实现了一个精灵序列图的渲染引擎.本文的 ...

  8. &lbrack;范例&rsqb; Firemonkey 弹簧动画

    弹簧动画效果: 不用写任何代码,只需设定下面动画属性: 参考动画曲线: http://monkeystyler.com/guide/Interpolation-and-AnimationType-Il ...

  9. Unity3d动画脚本 Animation Scripting&lpar;深入了解游戏引擎中的动画处理原理&rpar;

    也许这一篇文章的内容有点枯燥,但我要说的是如果你想深入的了解游戏引擎是如何处理动画片断或者素材并 让玩家操控的角色动起来栩栩如生,那么这真是一篇好文章(当然我仅仅是翻译了一下)   动画脚本 Anim ...

随机推荐

  1. LeetCode 102

    方法一:(迭代) /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * ...

  2. Vim编辑器运用的五个技巧

    导读 如今 Vim 是每个人最喜欢的 Linux 文本编辑器,也是开发者和系统管理者最喜爱的开源工具.大多数人只是熟悉Vim的最最基本的操作,只能在终端使用 Vim 修改文本,但是它并没有任何一个我想 ...

  3. 2016C&num;模拟谷歌Google登陆Gmail&amp&semi;Youtube小案例

    之所以写这个,是因为本来想写一个Youtube刷评论的工具,把登录做出来了,后面就没继续做下去. 涉及到基本的HttpWatch的应用以及Fiddler的应用(Fd主要用来排查问题,通过对比 浏览器和 ...

  4. 6&ast;17点阵的Window程序, Java写的。

    package com.wulala; import java.awt.BorderLayout;import java.awt.Color;import java.awt.Dimension;imp ...

  5. Newton&&num;39&semi;s Method

    在求最优解时,前面很多地方都用梯度下降(Gradient Descent)的方法,但由于最优步长很难确定,可能会出现总是在最优解附近徘徊的情况,致使最优解的搜索过程很缓慢.牛顿法(Newton's M ...

  6. &lbrack;Android&rsqb; 使用Webview进行OAUTH

    1. 源起     最近在弄Google登录,Google登录要求手机上必须按照Google Play Service,有些手机比如小米,没有Google Play Servcie,因此,有必要实现一 ...

  7. React Native分享第三方遇到的问题

    这几天做APP的分享,好多东西都不懂,踩了好多坑,所幸现在做好了,开心^_^ 时间紧,随便记一下先. 1.签名文件要和各平台的签名一致 2.新浪微博和微信的分享要打包之后,加上签名了才可以(我一直不知 ...

  8. CSS实现单行、多行文本超出部分显示省略号

     单行文本超出,代码如下: css代码: <style> .one{ width:200px; overflow: hidden; text-overflow:ellipsis; whit ...

  9. java利用反射交换两个对象中的字段相同的字段值

    有时候我们的两个对象字段都是一样的,只有极少的区别,想要把一个对象字段的值,赋值给另外一个对象值 然后传给另外一个方法使用,但是这个字段太多,一个一个的复制太过繁琐. 这时候利用反射解决这个问题. c ...

  10. 03 python 初学(字符格式化输出)

    #_author: lily #_date: 2018/12/16 name = input("your name: ") age = input("your age: ...