CoreAnimation——类似艺龙客户端首页的撕裂+后台推送效果
来源:互联网 发布:听故事的软件 编辑:程序博客网 时间:2024/04/28 20:33
今天看了一下艺龙客户端的首页,觉得效果特别不错,就自己手动实现了一下效果
从图中可以看出,首页是有几个大按钮,当点击其中一个按钮时,所有按钮左右散开,相应模块从背后弹出,效果相当不错
其实实现起来也相当容易
使用CABasicAnimation对每一个按钮添加一个动画
- (CAAnimation *)animationWithType:(NSString *)type atPosition:(float)number{ CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:type]; animation.toValue = [NSNumber numberWithFloat:number]; animation.fillMode = kCAFillModeForwards; animation.duration = 0.25f; animation.removedOnCompletion = NO; return animation;}
可以自己设定左右或者上下进行挪动
主要是后面推送的相应模块,因为在推送时,不仅有尺度变化,而且还有透明度的变化,这里要用到CAAnimationGroup进行组合
CABasicAnimation *shrinkAnimation = [CABasicAnimation animationWithKeyPath:@"transform.scale"]; shrinkAnimation.fromValue = [NSNumber numberWithFloat:0.7f]; shrinkAnimation.toValue = [NSNumber numberWithFloat:1.0f]; shrinkAnimation.duration = 0.35f; shrinkAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear]; CABasicAnimation *fadeAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"]; fadeAnimation.fromValue = [NSNumber numberWithFloat:0.0f]; fadeAnimation.toValue = [NSNumber numberWithFloat:1.0f]; shrinkAnimation.duration = 0.35f; CAAnimationGroup *animations = [CAAnimationGroup animation]; animations.animations = [NSArray arrayWithObjects:shrinkAnimation,fadeAnimation, nil]; [next.view.layer addAnimation:animations forKey:nil];
最后需要注意的是,当你要退回主界面时,要将后面推上来的view给remove掉,但不是马上,而是等动画结束后
[currentView performSelector:@selector(removeFromSuperview) withObject:nil afterDelay:0.35];
编译环境:Xcode4.4.1+mac os x 10.8
工程下载地址点击这里- CoreAnimation——类似艺龙客户端首页的撕裂+后台推送效果
- UITableViewCell 撕裂的效果
- 类似新浪首页的垂直滚动效果
- 类似网易新闻首页的滑动效果
- 如何制作一个纸张的撕裂效果
- 类似Chinaren首页栏目可拖动效果的源码
- 类似优酷首页下面分类视频的效果
- Objective-C 类似网易首页滚动导航的效果
- 实现类似 iOS 5 推送通知效果的代码例子
- iOS CoreAnimation专题——实战篇(一)惊艳的进度条效果实现
- jsp插入图片——撕裂
- 【android极光推送】—从客户端到后台,一文通吃
- android极光推送】—从客户端到后台,一文通吃
- 我写的类似本站首页左上角的菜单的效果插件,基于MooTools 1.4
- 可撕裂布料效果 赞
- 类似网易新闻客户端首页的图片浏览,右下角显示当前第几个图片
- 类似网易新闻客户端首页的图片浏览,右下角显示当前第几个图片
- CoreAnimation —— CALayer
- 六,软件测试
- 学习计划
- 32bit / 64bit 服务器上软件安装注意事项
- 解决java写入Access乱码问题
- 数据结构--查找&&排序(快速复习)
- CoreAnimation——类似艺龙客户端首页的撕裂+后台推送效果
- oracle总结
- Java 序列化的高级认识
- Java中的 File类对文件 路径分割符不敏感! <发现>
- symbian OS:解决S60列表框上下滚动出现列表项覆盖,失去焦点的列表项仍高亮的问题
- PHPWEB 模版制作说明
- 如何有效地控制项目进度
- C语言中的"NULL"到底是什么?又不是什么?有什么用?怎么用?
- 怎样制作插件边框模版【phpweb】