iOS编程动画之路-Flipboard翻页效果实现解析


http://blog.sina.com.cn/s/blog_7011f21c0101a95a.html


Flip board的爬取微博内容组成成杂志风格的想法新颖,但是整个应用给人的感觉和精制度也很不错,其中的翻页效果也被国内很多应用所模仿。github上也有许多实现了tick效果的源代码,这里我只是分析一下实现原理,毕竟一通百通,有了思路,想要去写出更有趣更新颖的动画特效也不会很困难。


分析
1.首先要实现高阶动画我们就必须要借助于CALayer这个类,他是ios上层UI与opengl es的通道,所以通过他我们能实现非常多的特殊效果。

2.tick的效果算是3d效果 有景深感 所以我们需要在layer上添加一下代码来激活3d效果

CATransform3D perspective = CATransform3DIdentity;

float zDistanse = 400.;

perspective.m34 = 1. / -zDistanse;


3.翻转效果实现,想要实现tick的翻转效果 需要3个layer的辅助

(1)一个双面的layer 前面为第一页的上半部分,后面为第二页的下半部分(需要180度翻转),因为需要将这个

沿底边翻转,所以需要将其锚点设置到底部

(2)第二页的上半部分 

(3)第一页的下半部分


4 .接下来的事情就很简单了 运用CATransform3DMakeRotation(angle, 1., 0., 0.); 将双面的layer进行180度的翻转

翻转结束时将这三个layer一并移除,用户看到的就是第二页了。这样我们的tick就完成了。







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值