DEMO下载地址:https://github.com/YYProgrammer/YYLoginTranslationDemo

技术点分析

  • 如何生成一个动画让控件执行?

现流行的方式主要有三种:

1、基本动画

2、核心动画

3、三方框架——POP框架(由Facebook开发)

它们的主要差别:

1、控件的位置、大小等是不是真的发生了改变?

基本动画、pop动画,是给控件添加动画(一般也不会有用基本动画给layer添加动画的做法),所有动画完成时,控件的属性已经改变,而核心动画,是给控件的图层(view.layer)添加动画,看似发生了位置大小的变化,实际上控件本身的属性并未改变。

2、它们分别的优劣势

2.1、基本动画

优势:代码简单,代码量少

劣势:功能相对单一

2.2、核心动画的优势

优势:功能强大、流畅性好、连续几个动画之间的衔接度好。流畅主要是因为操作layer是轻量级的,不容易产生动画卡顿的感觉。

劣势:代码量大;容易写错(某些参数没有定义宏,写错了都不知道);如有需要,还要手动在动画完成时将控件的属性同步修改了。

2.3、pop动画的优势

优势:比核心动画代码要简单,最大的优势在于,容易做弹簧效果,所以很多有“Q弹”感觉的都用pop动画做

劣势:要在一个动画完成时开始另一个动画,pop动画不擅长,主要因为它的动画执行时间由"速度"和"弹性系数"两个参数控制,不好直观判断动画执行了多久,而如果在pop动画完成回调的block里提交下一个动画,会不连贯(亲测,原因不详)。

  • 转场动画怎么实现?

明明从A控制器跳往B控制器,各是各的页面,各是各的控件,怎么做到A里的控件变化形成了B的控件的效果?

的确,A和B是两个独立的页面,它们跳转过程需要动画的效果时,需要另外一个呈现于屏幕上的载体(或者称页面)来装那些做动画的控件,然后在动画完成、转场结束时,把这个载体移除掉,宣告转场结束,这个时候把真正的B的页面展示出来。

这就需要转场代理transitioningDelegate发挥作用了,具体做法和原理下文详述。

君凯商联网-iOS-字唐名僧

iOS 开发——登录页面动画、转场动画相关推荐

  1. iOS开发CoreAnimation解读之四——Layer层动画内容

    iOS开发CoreAnimation解读之四--Layer层动画内容 一.引言 通过前几篇博客的介绍,我们可以了解到layer层可以设置许多与控件UI相关的属性,并且对于iOS开发,UIView层的属 ...

  2. html5怎么在index设置背景,index.html · huangliusong/HTML5Canvas知乎登录页面动态线条背景动画代码 - Gitee.com...

    HTML5+Canvas知乎登录页面动态线条背景动画代码 body{ text-align: center; background: #F7FAFC; overflow: hidden; backgr ...

  3. 鸿蒙harmonyOS 方舟框架ARK使用ets的页面间转场动画的使用

    鸿蒙harmonyOS 方舟框架ARK使用ets的页面间转场动画 文章目录 鸿蒙harmonyOS 方舟框架ARK使用ets的页面间转场动画 前言 使用步骤 1.代码,注意使用的位置 2.注释和逻辑 ...

  4. iOS开发-登录界面开发(6)Toast-Swift的使用-Swfit4.1_Xcode9.3.1

    iOS开发-登录界面开发(6)Toast-Swift的使用-Swfit4.1_Xcode9.3.1 先看一下效果: 1.前面我们做了登录界面的UI,实现了网络请求,如果用户输入了错误的VIP号码,应该 ...

  5. IOS开发之——动画-转场动画(98)

    一 概述 CATransition转场动画介绍 专场动画属性及过渡效果 示例(动画切换模拟转场动画) 二 CATransition专场动画介绍 nCATransition是CAAnimation的子类 ...

  6. iOS开发UI篇—iOS开发中三种简单的动画设置

    [在ios开发中,动画是廉价的] 一.首尾式动画 代码示例: // beginAnimations表示此后的代码要"参与到"动画中 [UIView beginAnimations: ...

  7. fastadmin后台login登录页面增加canvas粒子动画背景

    地址演示地址登录 <!DOCTYPE html> <html> <head><link rel="stylesheet" media=&q ...

  8. iOS开发--封装的几个小动画

    1 一个简单的下拉加载动画,可以自定义动画的颜色,线宽等等. 具体实现就不写了,直接上Demo地址:Github 效果图: 2 一个简单的下载进度条,同样可以自定义动画的颜色,线宽等等. Demo地址 ...

  9. IOS开发之页面切换

    从一个ViewController切换到另一个ViewController有下面几种方法: (1)addsubview方法切换视图 self.view addSubview:(加载的新页面); 相应的 ...

最新文章

  1. Day 6:在 Java 虚拟机上使用 Grails 进行快速 Web 开发
  2. 个推透传消息设置通知栏展示 ios_手机通知栏消息太多,这招教你关闭弹出消息,立刻清爽...
  3. POJ 2955 区间DP必看的括号匹配问题,经典例题
  4. JavaScript实现继承的方式,不正确的是:
  5. 举例说明string类和stringbuffer类的区别_String,StringBuilder,StringBuffer的区别
  6. Show Desktop Pro FAQ
  7. ping,python实现批量ping包工具--小案例v4优化版本
  8. Redis系列(二)-Hredis客户端设计及开源
  9. 2.1 软件开发生命周期模型
  10. centOS安装libX11
  11. quartz提示This scheduler instance is still active but was recovered by another instance in the cluster
  12. HFC网、FTTx技术、PON
  13. 【Asan】工欲善其事必先利其器——AddressSanitizer
  14. C# 使用DirectX中的Device类实现3D渲染
  15. CentOS7(8)安装/卸载MySQL
  16. vr企业视频展示如何制作
  17. c#写windows服务
  18. python 论文写作_AI基础:论文写作工具
  19. A simple webframe base on web.py
  20. 洛谷 P1162 填涂颜色 C++ 深搜 染色法

热门文章

  1. 计算机在护理专业中的论文题目,护理论文题目有哪些
  2. 烽火HG680L_S905L-3B_线刷固件包(河北联通2021年4月高安版)
  3. iOS版本更新到10.3无法下载企业应用
  4. Unity Transform与Hierachy
  5. MSU2020放榜了
  6. 【原创】Centos6中yum方法安装sl(linux有趣命令之一sl跑火车)
  7. 如何从淘客小白变成淘客大牛
  8. 精益是什么?如何进行精益创新?
  9. html计算书怎么导出,3D3S怎么出计算书 计算结果输出方法
  10. 等额本息与等额本金问题的分析