美文网首页
PopAnimation入门

PopAnimation入门

作者: 小黑_Coder | 来源:发表于2017-02-12 18:17 被阅读42次

开元大法好,首先感谢Facebook开源了POP动效库,让人人都能制作出华丽的动效。

GitHub上打开Pop的时候吓了我一跳,截止到现在已经有17146Star了。这么好的开源库,我现在才来学习真的是遗憾啊,不过亡羊补牢为时不晚。

好了废话不多说了,这么好的库我已经忍不住想体验一下了。

完成五步即可使用PopAnimation

  • 选择一种动画
  • 决定做Layer层还是View层某一属性动画
  • 设置属性
  • 为动画起名和指定代理
  • 添加动画

选择动画

Pop开源框架中有三种框架供我们选择

  • POPBasicAnimation
  • POPSpringAnimation
  • POPDecayAnimation

下面以POPBasicAnimation为例给我相应代码,其它动画响应代码可以在GitHub下载。

//创建选择的动画
POPBasicAnimation *basicAnimation = [POPBasicAnimation animation];
//设置动画的timingFunction
basicAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];

动画的timingFunction系统提供了五种以供选择

  • kCAMediaTimingFunctionLinear 线性
  • kCAMediaTimingFunctionEaseIn 慢入
  • kCAMediaTimingFunctionEaseOut 慢出
  • kCAMediaTimingFunctionEaseInEaseOut 慢入慢出
  • kCAMediaTimingFunctionDefault 默认

决定做Layer层还是View层某一属性动画

Layer层或者View层的Property做相应设置,在Pop中我们可以对一下Property做相应设置

View Property Description Layer Property Description
kPOPViewAlpha Alpha kPOPLayerBackgroundColor Color
kPOPViewBackgroundColor groundColor kPOPLayerBounds/ScaleXY/Size Size
kPOPViewBounds Size kPOPLayerRotation Rotation
kPOPViewCenter Center kPOPLayerOpacity Opacity
kPOPViewFrame Location&Size kPOPLayerPosition Position
kPOPViewScaleXY Size kPOPLayerPositionX/Y X/Y Position
kPOPViewSize Size(Scale)
//设置动画属性
basicAnimation.property = [POPAnimatableProperty propertyWithName:kPOPViewAlpha];
//设置动画时间
basicAnim.duration = 2;
//设置动画前的值
basicAnimation.fromValue = @(1);
//设置动画后的值
basicAnimation.toValue = @(0);

给动画起名字和指定代理

当然如果你只是想简单的做一个动画,而不想在动画开始前,中,后做一些操作的话这一步可以忽略。PopPOPAnimationDelegate为我们提供了一些常用的代理方法

//Called on animation start.
- (void)pop_animationDidStart:(POPAnimation *)anim;
//Called when value meets or exceeds to value.
- (void)pop_animationDidReachToValue:(POPAnimation *)anim;
//Called on animation stop.
- (void)pop_animationDidStop:(POPAnimation *)anim finished:(BOOL)finished;
//Called each frame animation is applied.
- (void)pop_animationDidApply:(POPAnimation *)anim;

将动画添加到对应的视图上

[self.animV pop_addAnimation:basicAnim forKey:@"PopBasicAnimation"];

好一个简单的Pop动画完成

email:huliuworld@yahoo.com
相关代码:https://github.com/LHCoder2016/Pop.git

相关文章

  • PopAnimation入门

    开元大法好,首先感谢Facebook开源了POP动效库,让人人都能制作出华丽的动效。 在GitHub上打开Pop的...

  • 最近使用的block一点注意事项

    (void(^)(POPAnimation *anim, BOOL finished)) blockblcok写在...

  • POPAnimation初体验

    本人有若干成套学习视频, 可试看! 可试看! 可试看, 重要的事情说三遍 包含Java, 数据结构与算法, iOS...

  • IOS POP动画

    参考链接一:基础知识参考链接二:很详细的讲解 参考链接二:演示代码 参考链接三:POPAnimation 源码仓库...

  • 3D菜单卡片

    还是先看效果图。 这个动态效果我没有用ios 原生的Animation,而是用popAnimation,当然在用之...

  • Facebook-popAnimation/动画菜单

    前言浏览简书的时候一篇发现仿微博的功能菜单,实现原理介绍的很详细,demo里面使用的是Facebook的pop动画...

  • FaceBook POP(PopAnimation)介绍与使用

    掘金主页欢迎关注和提问,以后也会不定期回答简书上的提问 本文简单介绍了FaceBook开原动画框架POP的内容及基...

  • %1$@、 %2$@、 %1$d

    那天闲的,就想想学点东西,刚好对PopAnimation感兴趣,便下载了源代码来看看。 当我看到了一条VFL约束时...

  • iOS_动画_POP_POPAnimation.h 翻译及使用

    一丶原文翻译 二丶问题 1.@property (assign, nonatomic) CFTimeInterva...

  • 入门级知识

    入门知识_1 入门知识_2 入门知识_3 入门知识4

网友评论

      本文标题:PopAnimation入门

      本文链接:https://www.haomeiwen.com/subject/xsiaittx.html