iOS动画——弹窗动画(pop动画)
用pop动画简单实现弹窗的缩放和渐变,感觉这个动画常用,就写一下博客
pop动画是Facebook推出的动画引擎,请自行到GitHub上搜索下载拖拽导入xcode项目中。
更多pop动画使用和原理可网上搜索学习
本处只简单介绍代码开发使用,紧以弹窗效果为思路。
1. 控制器导入头文件 #import "POP.h"
2.创建弹窗透明黑色背景
- - (void)createBlackView {
- self.blackView = [[UIView alloc] initWithFrame:self.contentView.bounds];
- self.blackView.backgroundColor = [UIColor blackColor];
- self.blackView.alpha = 0;
- [self addSubview:self.blackView];
- [UIView animateWithDuration:0.3f animations:^{
- self.blackView.alpha = 0.25f;
- }];
- }
3.创建白色上面的白色view,并加上所需的控件,给白色的messageView做pop动画效果,
代码如下
- // 执行动画 改变透明度
- POPBasicAnimation *alpha = [POPBasicAnimation animationWithPropertyNamed:kPOPViewAlpha];
- alpha.toValue = @(1.f);
- alpha.duration = 0.3f;
- [self.messageView pop_addAnimation:alpha forKey:nil];
- // 缩放回弹
- POPSpringAnimation *scale = [POPSpringAnimation animationWithPropertyNamed:kPOPLayerScaleXY];
- scale.fromValue = [NSValue valueWithCGSize:CGSizeMake(1.75f, 1.75f)];
- scale.toValue = [NSValue valueWithCGSize:CGSizeMake(1.f, 1.f)];
- scale.dynamicsTension = 1000;
- scale.dynamicsMass = 1.3;
- scale.dynamicsFriction = 10.3;
- scale.springSpeed = 20;
- scale.springBounciness = 15.64;
- scale.delegate = self;
- [self.messageView.layer pop_addAnimation:scale forKey:nil];
4.弹窗消失的思路代码
- - (void)removeViews {
- [UIView animateWithDuration:0.2f animations:^{
- self.blackView.alpha = 0.f;
- self.messageView.alpha = 0.f;
- self.messageView.transform = CGAffineTransformMakeScale(0.75f, 0.75f);
- } completion:^(BOOL finished) {
- [self removeFromSuperview];
- }];
- }
iOS动画——弹窗动画(pop动画)的更多相关文章
- iOS_SN_push/pop转场动画封装和一般动画封装
封装类中的方法: #import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @interface AnimationE ...
- iOS CATransition 自定义转场动画
https://www.jianshu.com/p/39c051cfe7dd CATransition CATransition 是CAAnimation的子类(如下图所示),用于控制器和控制器之间的 ...
- 自定义UINavigationController push和pop动画
http://segmentfault.com/q/1010000000143983 默认的UINavigationController push和pop的默认动画都是左右滑动推出,我的应用要求这种界 ...
- iOS核心动画高级技巧之核心动画(三)
iOS核心动画高级技巧之CALayer(一) iOS核心动画高级技巧之图层变换和专用图层(二)iOS核心动画高级技巧之核心动画(三)iOS核心动画高级技巧之性能(四)iOS核心动画高级技巧之动画总结( ...
- FaceBook pop 动画开源框架使用教程说明
https://github.com/facebook/pop Pop is an extensible animation engine for iOS and OS X. In addition ...
- iOS开发UI篇—核心动画(UIView封装动画)
iOS开发UI篇—核心动画(UIView封装动画) 一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画 ...
- iOS开发UI篇—核心动画(转场动画和组动画)
转自:http://www.cnblogs.com/wendingding/p/3801454.html iOS开发UI篇—核心动画(转场动画和组动画) 一.转场动画简单介绍 CAAnimation的 ...
- iOS开发UI篇—核心动画(关键帧动画)
转自:http://www.cnblogs.com/wendingding/p/3801330.html iOS开发UI篇—核心动画(关键帧动画) 一.简单介绍 是CApropertyAnimatio ...
- iOS开发UI篇—核心动画(基础动画)
转自:http://www.cnblogs.com/wendingding/p/3801157.html 文顶顶 最怕你一生碌碌无为 还安慰自己平凡可贵 iOS开发UI篇—核心动画(基础动画) iOS ...
随机推荐
- Telnet端口测试
$IP ="220.181.111.142"$Port ="801" Function Port-Test ($IP,$Port){ $Timeout = 10 ...
- 算法代码[置顶] 机器学习实战之KNN算法详解
改章节笔者在深圳喝咖啡的时候突然想到的...之前就有想写几篇关于算法代码的文章,所以回家到以后就奋笔疾书的写出来发表了 前一段时间介绍了Kmeans聚类,而KNN这个算法刚好是聚类以后经常使用的匹配技 ...
- linux下的shell命令的编写,以及java怎样调用linux的shell命令(java怎样获取linux上的网卡的ip信息)
程序猿都非常懒,你懂的! 近期在开发中,须要用到server的ip和mac信息.可是server是架设在linux系统上的,对于多网口,在获取ip时就产生了非常大的问题.以下是在windows系统上, ...
- CSS3/jQuery自己定义弹出窗体
简单演示一下,精简了演示效果和css样式文件,更利于在项目中的实际应用 引入style.css index.js <!DOCTYPE HTML PUBLIC "-//W3C//DT ...
- CreateProcess的使用方法
使用编译器vs2008. 第一.第二个參数的使用方法: 样例: 使用ie打开指定的网页. 注意第二个參数是 可运行文件+命令行參数 #include "stdafx.h" #inc ...
- sqoop的安装与使用
1.什么是Sqoop Sqoop即 SQL to Hadoop ,是一款方便的在传统型数据库与Hadoop之间进行数据迁移的工具.充分利用MapReduce并行特点以批处理的方式加快传输数据.发展至今 ...
- Web APP 随笔
自Iphone和Android这两个牛逼的手机操作系统发布以来,在互联网界从此就多了一个新的名词-WebApp(意为基于WEB形式的应用程序,运行在高端的移动终端设备). 开发者们都知道在高端智能手机 ...
- Android Mms 接收信息流程
信息的接收工作是由底层来完成的,当有一个 新的信息时底层完成接收后会以Intent的方式来通知上层应用,信息的相关内容也包含在Intent当中,Android所支持的信息Intent都定 义在andr ...
- ios5 xcode 4.2 中 release显示编译警告或错误的解决方法
转自:http://lizi464789754.blog.163.com/blog/static/1689370852011924113245778/ 由于 iOS5 xcode4.2 引入了ARC ...
- UNIX标准化及实现之POSIX标准扩展头文件
POSIX标准定义的XSI(X/Open System Interface)扩展头文件 头文件 说明 <cpio.h> cpio归档值 <dlfcn.h> 动态链接 <f ...