经常看到一些很好的动画加载视图,闲来无事就写了一个书本翻页样式的动画加载视图,核心技术是CALayer+CoreAnimation。项目源码地址:https://github.com/China131/JHLodingView.git 如果有所帮助,记得star哦?

正题如下:

创建一个单独的layer:

   /*        使用类方法创建CAlayer对象         */

CALayer *  layer = [CALayer layer];

/*        CATransform实际上是一个结构体 因此不能直接对内部元素直接赋值         */

CATransform3D transform = layer.transform;

/*        设置layer的立体效果值 m34为该值 渲染立体效果         */

transform.m34 = 10.5/-2000;

layer.transform = transform;

/*        设置layer的背景颜色,注意是CGColor类型         */

layer.backgroundColor = [k_COLOR_STOCK[_currentIndex%k_COLOR_STOCK.count] CGColor];

/*        设置锚点,锚点即动画的中心点,默认为(二维环境)(0.5.0.5),分别表示X轴中点 Y轴中点         */

layer.anchorPoint = CGPointMake(0, 0.5);

layer.frame = CGRectMake(200, 100, 30, 45);

/*        设置layer的中心点,相当于UIView对象的center熟悉         */

layer.position = CGPointMake(K_IOS_WIDTH/2, K_IOS_HEIGHT/2-50);

[self.layer addSublayer:layer];

创建翻页动画

  /*        创建翻页动画         */

CABasicAnimation *basic = [CABasicAnimation animationWithKeyPath:@"transform.rotation.y"];

/*        transform.rotation.y的动画开始值         */

basic.fromValue  = @(-M_PI );

/*        transform.rotation.y的动画结束值         */

basic.toValue = @(0);

/*        是否在动画结束后自动按照反向动画回归原状态         */

basic.autoreverses = NO;

/*        动画执行次数         */

basic.repeatCount = 1;

/*        动画时长         */

basic.duration = 1.0;

/*        动画填充模式         */

basic.fillMode = kCAFillModeRemoved;

/*        设置代理         */

basic.delegate = self;

[layer addAnimation:basic forKey:@"basc"];

当按照上方法循环添加多个layer动画时,并间隔0.2s执行,就会有从左到右的翻页动画效果。如果想要更加完美,可以将这些layer添加到数组,在从左到右的动画完成后,给数组中的layer添加一个反向动画,即可实现来回的翻页动画。效果图如下:

                      

转载于:https://www.cnblogs.com/ToBeTheOne/p/5636591.html

核心动画实现书本翻页效果加载动画相关推荐

  1. 用 Cocos Creator 模拟书本翻页效果

    本篇文章作者:乐府-贝塔 乐府-贝塔:乐府前端核心开发,从事游戏开发多年,从 Cocos2d-x 做到 Cocos Creator,擅长渲染技术的相关优化.多年的前端开发经验激发了对技术研究的深厚兴趣 ...

  2. 用Cocos Creator 模拟书本翻页效果

    1.简介 本文主要探讨了如何使用CocosCreator来模拟书本翻页效果,分别介绍了通过使用贝塞尔曲线和verlet积分算法来模拟书页底边在翻页过程中的弯曲形变,最后通过自定义assembler传入 ...

  3. unity 制作书本 翻页效果

    unity 制作书籍翻页效果 unity C# 翻书效果 2D 真实翻页 不使用插件 自制 实现思路: 将书本分为两边,一边一个翻页实现: 下图为书本的右面,以OA为分界线,△OAB是下一面的如上图的 ...

  4. 手机html5翻页效果代码,jquery html5手机端翻书效果_手指滑动书本翻页效果代码

    特效描述:jquery html5手机端翻书 手指滑动 书本翻页效果.显现手机端翻书效果,支持手拖动翻页 代码结构 1. 引入JS 2. HTML代码 function loadApp() { // ...

  5. ionic 去掉启动页的加载动画 菊花转

    ionic 去掉启动页的加载动画 菊花转 在config.xml文件里添加 <preference name="ShowSplashScreenSpinner" value= ...

  6. 加载html动画logo,仅CSS实现的加载动画 – Loader.css

    仅CSS实现的加载动画 – Loader.css 4月 13, 2015 评论 (6) Sponsor 当网页的页面大小较大,用户加载可能需要较长的时间,在这些情况下,我们一般会用到(加载)loadi ...

  7. css3实现书本翻页效果

    css3翻页效果 关键要点: 1.css3 3d动画的掌握 2.如何解决翻转后页面内容的改变 3.如何保持书本一直处于居中位置 代码总览 <!DOCTYPE html> <html ...

  8. 使用transform制作书本翻页效果

    transform transform属于CSS属性 Transform属性应用于元素的2D或3D转换.这个属性允许你将元素旋转,缩放,移动,倾斜等. 在网页中需要制作一些有立体感的3d效果,比如书本 ...

  9. H5仿抖音上下切换翻页动态加载效果

    只有五个页面实现动态加载翻页效果,网上查到都是用Swiper 不停的插入元素,导致页面内容越来越多致卡顿.这里就只用五个页面来轮翻显示,实现无限加载的效果. <!DOCTYPE html> ...

最新文章

  1. ORM 框架中SQLALCHEMY一点点个人总结
  2. 第二阶段个人冲刺10
  3. 特征值和特征向量的实际意义
  4. 使用python和javascript进行数据可视化
  5. 大学计算机基础数据库知识点,大学计算机基础试题(数据库)
  6. 如何在linux系统中设置静态ip地址
  7. adb一打开就闪退_记一次龙骨动画导致Android版闪退过程
  8. ROS 图像相关的命令与应用
  9. 基于fdw的跨Greenplum集群数据库查询实现
  10. VsCode中文输出为乱码的原因及解决方法
  11. java实现类的封装(物体实现椭圆运动)
  12. 欧洲对地观测卫星和无人机发展现状简介
  13. Modern Family 开篇语
  14. Typora安装 Pandoc实现导出功能
  15. python制作数据增长动图_手把手教你做一个python+matplotlib的炫酷的数据可视化动图...
  16. i html设置为不倾斜,css如何不让字体倾斜?
  17. 不同软件求解超导温度用的方程
  18. pyHook pyHook3 区别_成熟男人和幼稚男区别,男人不成熟的5个特征
  19. alsa与PulseAudio
  20. Launcher功能入口

热门文章

  1. MySQL的7种JOIN表连接结果集,你了解几个?搞懂仅需1张图
  2. 怎么关闭计算机硬件加速,怎么关闭Win8显卡硬件加速?Win8系统关闭显卡硬件加速的方法...
  3. java计算机毕业设计风情旅游网站MyBatis+系统+LW文档+源码+调试部署
  4. 【Three.js入门】渲染第一个场景及物体(轨道控制器、坐标轴辅助器、移动缩放旋转)
  5. 十一、轻松搭建网站管理后台
  6. python滑动验证
  7. JSP最常用的五种内置对象
  8. HarmonyOS实战—实现随机更换笑话段子
  9. Java八大基本数据类型(详解)
  10. netsh之禁用、启用网卡