自定义AlertView(iOS7)
2014-01-06 17:44
260 查看
ios7不支持自定义UIAlertView了,所以可以自己写个View,再套上以下的动画效果
先导入#import <QuartzCore/QuartzCore.h>
弹出动画效果:
CAKeyframeAnimation *popAnimation = [CAKeyframeAnimation animationWithKeyPath:@"transform"];
popAnimation.duration = 0.4;
popAnimation.values = @[[NSValue valueWithCATransform3D:CATransform3DMakeScale(0.01f, 0.01f, 1.0f)],
[NSValue valueWithCATransform3D:CATransform3DMakeScale(1.1f, 1.1f, 1.0f)],
[NSValue valueWithCATransform3D:CATransform3DMakeScale(0.9f, 0.9f, 1.0f)],
[NSValue valueWithCATransform3D:CATransform3DIdentity]];
popAnimation.keyTimes = @[@0.2f, @0.5f, @0.75f, @1.0f];
popAnimation.timingFunctions = @[[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut],
[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut],
[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[self.xxxView.layer addAnimation:popAnimation forKey:nil];
收回动画效果:
CAKeyframeAnimation *hideAnimation
= [CAKeyframeAnimation animationWithKeyPath:@"transform"];
hideAnimation.duration = 0.4;
hideAnimation.values = @[[NSValue valueWithCATransform3D:CATransform3DMakeScale(1.1f, 1.1f, 1.0f)],
[NSValue valueWithCATransform3D:CATransform3DMakeScale(1.0f, 1.0f, 1.0f)],
[NSValue valueWithCATransform3D:CATransform3DMakeScale(0.00f, 0.00f, 0.00f)]];
hideAnimation.keyTimes = @[@0.2f, @0.5f, @0.75f];
hideAnimation.timingFunctions = @[[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut],
[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut],
[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
hideAnimation.delegate = self;
[self.xxxView .layer addAnimation:hideAnimation forKey:nil];
先导入#import <QuartzCore/QuartzCore.h>
弹出动画效果:
CAKeyframeAnimation *popAnimation = [CAKeyframeAnimation animationWithKeyPath:@"transform"];
popAnimation.duration = 0.4;
popAnimation.values = @[[NSValue valueWithCATransform3D:CATransform3DMakeScale(0.01f, 0.01f, 1.0f)],
[NSValue valueWithCATransform3D:CATransform3DMakeScale(1.1f, 1.1f, 1.0f)],
[NSValue valueWithCATransform3D:CATransform3DMakeScale(0.9f, 0.9f, 1.0f)],
[NSValue valueWithCATransform3D:CATransform3DIdentity]];
popAnimation.keyTimes = @[@0.2f, @0.5f, @0.75f, @1.0f];
popAnimation.timingFunctions = @[[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut],
[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut],
[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[self.xxxView.layer addAnimation:popAnimation forKey:nil];
收回动画效果:
CAKeyframeAnimation *hideAnimation
= [CAKeyframeAnimation animationWithKeyPath:@"transform"];
hideAnimation.duration = 0.4;
hideAnimation.values = @[[NSValue valueWithCATransform3D:CATransform3DMakeScale(1.1f, 1.1f, 1.0f)],
[NSValue valueWithCATransform3D:CATransform3DMakeScale(1.0f, 1.0f, 1.0f)],
[NSValue valueWithCATransform3D:CATransform3DMakeScale(0.00f, 0.00f, 0.00f)]];
hideAnimation.keyTimes = @[@0.2f, @0.5f, @0.75f];
hideAnimation.timingFunctions = @[[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut],
[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut],
[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
hideAnimation.delegate = self;
[self.xxxView .layer addAnimation:hideAnimation forKey:nil];
相关文章推荐
- 模仿动画的放大缩小容器
- js排序动画模拟-插入排序
- javascript 自定义常用方法第1/2页
- JQuery动画和停止动画实例代码
- Jquery 自定义动画概述及示例
- 基于jquery的动画效果代码
- python 判断自定义对象类型
- 第七章 php自定义函数实现代码
- 锋利的jQuery 要点归纳(三) jQuery中的事件和动画(上:事件篇)
- 基于Jquery的温度计动画效果
- javascript中自定义对象的属性方法分享
- Android自定义格式显示Button的布局思路
- Android自定义Style实现方法
- Android中的Button自定义点击效果实例代码
- Android开发之图形图像与动画(五)LayoutAnimationController详解
- VC实现图片拖拽及动画的实例
- JavaScript/Js脚本处理html元素的自定义属性解析(亲测兼容Firefox与IE)
- FCKEditor 自定义用户目录的修改步骤 (附源码)
- 帮助android程序实现动画特效--Lemon动画库
- Log4j自定义生成文件的名称