Facebook POP动画简单使用
来源:互联网 发布:ubuntu 12.04 安装jdk 编辑:程序博客网 时间:2024/06/06 05:53
简单实用POP动画
发现POP比较好的一点是保留了动画结束后的状态,通过block回调。使用POPAnimatableProperty 可以快速添加基本动画,也可以自定义属性动画。
弹性动画
- (void)spring{
POPSpringAnimation* framePOP = [POPSpringAnimationanimationWithPropertyNamed:kPOPViewBackgroundColor];
framePOP.springSpeed =10.f;
framePOP.springBounciness =4.f;
framePOP.toValue = [UIColorgreenColor];
[framePOPsetCompletionBlock:^(POPAnimation * anim ,BOOL finsih) {
if (finsih) {
NSLog(@"view.frame = %@",NSStringFromCGRect(view.frame));
}
}];
[viewpop_addAnimation:framePOP forKey:@"go"];
}
减缓动画
- (void)Decay{
POPDecayAnimation* decay = [POPDecayAnimationanimationWithPropertyNamed:kPOPViewFrame];
// decay.toValue = [NSValue valueWithCGRect:CGRectMake(200, 400, 100, 100)];
decay.velocity = [NSValuevalueWithCGRect:CGRectMake(200,300, 100, 100)];
[viewpop_addAnimation:decay forKey:@"go"];
}
基本动画
-(void)basic{
POPBasicAnimation* basicAnimation = [POPBasicAnimationanimationWithPropertyNamed:kPOPLayerCornerRadius];
basicAnimation.toValue = [NSNumbernumberWithFloat:CGRectGetHeight(view.frame)/2.];
basicAnimation.timingFunction =[CAMediaTimingFunctionfunctionWithName:kCAMediaTimingFunctionEaseInEaseOut];
// basicAnimation.duration = 3.f;
[basicAnimationsetCompletionBlock:^(POPAnimation * ani,BOOL fin) {
if (fin) {
NSLog(@"view.frame = %@",NSStringFromCGRect(view.frame));
// POPBasicAnimation* newBasic = [POPBasicAnimation easeInEaseOutAnimation];
// newBasic.property = [POPAnimatableProperty propertyWithName:kPOPLayerCornerRadius];
// newBasic.toValue = [NSNumber numberWithFloat:0];
// [view.layer pop_addAnimation:newBasic forKey:@"go"];
}
}];
[view.layerpop_addAnimation:basicAnimation forKey:@"frameChange"];
}
组合动画
-(void)group
{
view.transform =CGAffineTransformMakeRotation(M_PI_2/3);
POPBasicAnimation* spring = [POPBasicAnimationanimationWithPropertyNamed:kPOPLayerPositionY];
spring.beginTime =CACurrentMediaTime();
spring.duration =.4f;
spring.fromValue = [NSNumbernumberWithFloat:-100.f];
spring.toValue = [NSNumbernumberWithFloat:CGRectGetMinY(view.frame) +80];
[springsetCompletionBlock:^(POPAnimation * ani,BOOL fin) {
}];
POPBasicAnimation* basic = [POPBasicAnimationanimationWithPropertyNamed:kPOPLayerRotation];
basic.beginTime =CACurrentMediaTime();
basic.timingFunction = [CAMediaTimingFunctionfunctionWithName:kCAMediaTimingFunctionEaseInEaseOut];
basic.toValue = [NSNumbernumberWithFloat:-M_PI_4];
basic.duration =.4f;
POPBasicAnimation* rotation = [POPBasicAnimationanimationWithPropertyNamed:kPOPLayerRotation];
rotation.beginTime =CACurrentMediaTime() + .4f;
rotation.toValue = [NSNumbernumberWithFloat:0.f];
rotation.timingFunction = [CAMediaTimingFunctionfunctionWithName:kCAMediaTimingFunctionEaseInEaseOut];
rotation.duration =.25f;
POPBasicAnimation* donw = [POPBasicAnimationanimationWithPropertyNamed:kPOPLayerPositionY];
donw.beginTime =CACurrentMediaTime() + 0.4f;
donw.toValue = [NSNumbernumberWithFloat:CGRectGetMinY(view.frame)];
donw.duration =.25f;
donw.timingFunction = [CAMediaTimingFunctionfunctionWithName:kCAMediaTimingFunctionEaseInEaseOut];
[view.layerpop_addAnimation:spring forKey:@"spring"];
[view.layerpop_addAnimation:basic forKey:@"basic"];
[view.layerpop_addAnimation:donw forKey:@"down"];
[view.layerpop_addAnimation:rotation forKey:@"rotation"];
}
- Facebook POP动画简单使用
- Facebook POP动画简单使用
- Facebook POP动画简单使用
- iOS中Facebook开源动画库POP的简单使用
- Facebook POP框架的简单使用
- FaceBook pop 动画开源框架使用教程说明
- facebook开源动画pop
- facebook开源动画pop
- facebook开源动画pop
- FaceBook pop 动画 pod 引入
- iOS Facebook pop动画进阶
- 使用 Facebook开源动画库 POP 实现真实衰减动画
- 简单实用POP动画
- Facebook POP动效库使用教程
- Facebook POP动效库使用教程
- Facebook POP动效库使用教程
- Facebook POP动效库使用教程
- IOS facebook 开源动画引擎 pop
- iOS开发数据库篇—6.纯C写的一些SQLite常用的函数
- php-fpm---为每个开发人员分配进程
- SQL Server 2008数据类型
- 一次MySQL主从搭建出现“Last_IO_Errno: 1236”错误的处理记录
- Android 打开关闭硬件加速
- Facebook POP动画简单使用
- c++primer 例子文本程序再探
- ubuntu下配置java环境变量的方法
- 典型算法——质数判断
- 头文件重复引用
- C#编辑框添加水印
- 前端开发规范之html编码规范
- 【并发】Java并发的四种风味:Thread、Executor、ForkJoin和Actor
- Property Animation:PropertyValuesHolder