用pop动画简单实现弹窗的缩放和渐变,感觉这个动画常用,就写一下博客

pop动画是Facebook推出的动画引擎,请自行到GitHub上搜索下载拖拽导入xcode项目中。

更多pop动画使用和原理可网上搜索学习

本处只简单介绍代码开发使用,紧以弹窗效果为思路。

1. 控制器导入头文件 #import "POP.h"

2.创建弹窗透明黑色背景

[objc] view plaincopy
  1. - (void)createBlackView {
  2. self.blackView                 = [[UIView alloc] initWithFrame:self.contentView.bounds];
  3. self.blackView.backgroundColor = [UIColor blackColor];
  4. self.blackView.alpha           = 0;
  5. [self addSubview:self.blackView];
  6. [UIView animateWithDuration:0.3f animations:^{
  7. self.blackView.alpha = 0.25f;
  8. }];
  9. }

3.创建白色上面的白色view,并加上所需的控件,给白色的messageView做pop动画效果,

代码如下

[objc] view plaincopy
  1. // 执行动画 改变透明度
  2. POPBasicAnimation  *alpha = [POPBasicAnimation animationWithPropertyNamed:kPOPViewAlpha];
  3. alpha.toValue             = @(1.f);
  4. alpha.duration            = 0.3f;
  5. [self.messageView pop_addAnimation:alpha forKey:nil];
  6. // 缩放回弹
  7. POPSpringAnimation *scale = [POPSpringAnimation animationWithPropertyNamed:kPOPLayerScaleXY];
  8. scale.fromValue           = [NSValue valueWithCGSize:CGSizeMake(1.75f, 1.75f)];
  9. scale.toValue             = [NSValue valueWithCGSize:CGSizeMake(1.f, 1.f)];
  10. scale.dynamicsTension     = 1000;
  11. scale.dynamicsMass        = 1.3;
  12. scale.dynamicsFriction    = 10.3;
  13. scale.springSpeed         = 20;
  14. scale.springBounciness    = 15.64;
  15. scale.delegate            = self;
  16. [self.messageView.layer pop_addAnimation:scale forKey:nil];

4.弹窗消失的思路代码

[objc] view plaincopy
  1. - (void)removeViews {
  2. [UIView animateWithDuration:0.2f animations:^{
  3. self.blackView.alpha       = 0.f;
  4. self.messageView.alpha     = 0.f;
  5. self.messageView.transform = CGAffineTransformMakeScale(0.75f, 0.75f);
  6. } completion:^(BOOL finished) {
  7. [self removeFromSuperview];
  8. }];
  9. }

转载于:https://www.cnblogs.com/LiuChengLi/p/5916375.html

iOS动画——弹窗动画(pop动画)相关推荐

  1. Android动画弹窗

    一.动画弹窗是什么 动画弹窗就是用来在我们调用接口或者是加载数据的时候给用户呈现出一个等待效果的弹窗 二.使用步骤 1.引入库 代码如下(示例): //加载中的dialogimplementation ...

  2. iOS之POP动画使用和实战

    - POP是一个来自于Facebook,在iOS与OSX上通用的极具扩展性的动画引擎.它在基本的静态动画的基础上增加的弹簧动画与衰减动画,使之能创造出更真实更具物理性的交互动画. - Pop Anim ...

  3. 两行代码搞定iOS自定义HUD风格动画弹窗(支持选择记录) - SKChoosePopView的使用和实现思路

    作者 ShevaKuilin 关注 2017.03.25 18:28* 字数 2014 阅读 270评论 0喜欢 23 さらい屋五葉 原文地址----> MyBlog HUD风格的选项弹窗是我们 ...

  4. iOS 自定义页面的切换动画与交互动画 By Swift

    iOS7之前,开发者为了寻求自定义Navigation Controller的Push/Pop动画,只能受限于子类化一个UINavigationController,或是用自定义的动画去覆盖它.但是随 ...

  5. iOS 关于自定义转场动画,以UITabBarController为例

    1.小记 关于自定义转场动画,只要你理清他的"套路",你就可以随心所欲地自定义了. 大体思路就是:遵守对应的代理协议,然后设置对应的代理,实现代理方法,这个代理方法要返回的值就是你 ...

  6. Facebook POP 动画框架 进阶指南

    http://www.cocoachina.com/industry/20140704/9034.html http://www.cocoachina.com/ios/20140508/8352.ht ...

  7. iOS 动画原理与实现--帧动画、逐帧动画、CALayer

    这篇文章不会教大家如何实现一个具体的动画效果,我会从动画的本质出发,来说说 iOS 动画的原理与实现方式. 什么是动画 动画,顾名思义,就是能"动"的画. 人的眼睛对图像有短暂的记 ...

  8. iOS视图控制器转场动画

    屏幕左边缘右滑返回,TabBar 滑动切换,你是否喜欢并十分依赖这两个操作,甚至觉得 App 不支持这类操作的话简直反人类?这两个操作在大屏时代极大提升了操作效率,其背后的技术便是今天的主题:视图控制 ...

  9. iOS键盘弹出时动画时长失效问题

    iOS键盘弹出动画问题 今天在写键盘弹出时遇见一个问题.监听UIKeyboardWillShowNotification通知让Label做一个移动的动画,指定duration为15,但动画实际完成时间 ...

最新文章

  1. Gerrit 代码审核服务器的工作流和原理
  2. go语言查询某个值是否在数组中_Go语言数组详解
  3. c语言用一维数组求字符串,c语言一维数组练习题.doc
  4. phpcms列表页调用 点击量
  5. 果断收藏!六大主流大数据采集平台架构分析
  6. 网站CSS样式不起作用,或只有一部分起作用?随手记
  7. SAP成都研究院2018年年会之前的技术讲座
  8. asp.net mvc 自定义 pager 封装与优化
  9. UDP模式与TCP模式的区别
  10. LeetCode 1215. 步进数(BFS/DFS)
  11. 博士学位被撤三天后,她的大学教职也被开除!
  12. solr 高并发_你真的了解并发编程吗?
  13. Django传递数据给JS
  14. 商务与经济统计学 第五章案例题
  15. 台式网卡计算机,台式机万能网卡驱动,教您如何给台式机安装万能网卡驱动
  16. opencv-牛刀小试
  17. 什么是黎曼和?什么是定积分?
  18. CTF逆向-[GWCTF 2019]babyvm-WP-虚机模拟流程反向编码和z3约束求解器解方程工具的使用
  19. 录音文件下载_录音内容如何导出?对于小白来说是难题,一招教你搞定它
  20. SDN 交换机及南向接口技术(一)

热门文章

  1. FBI变态测试题,猜中一半的,赶紧去看看心理医生哦
  2. CentOS6 安装Tomcat7
  3. mktime 的选择
  4. java 网格布局管理器,Java图形化界面设计——布局管理器之GridLayout(网格布局)...
  5. 2021年工业机器人行业研究报告
  6. 支付宝支付提示“提示系统繁忙,请稍后再试(ALI69)”
  7. python_操作linux上的mysql
  8. Jenkins密码忘记重置方法
  9. Missing artifact com.microsoft.sqlserver:sqljdbc4:jar:4.0解决方案
  10. C语言讲义——内存管理