原文链接:http://www.jianshu.com/p/983674e6f4ef
根据原型高度还原的一个动效作品。希望可以通过审核。谢谢。 —— 由Bear1494735376123分享

欢迎同样喜爱动效的你加入
iOS动效特攻队–>QQ群:547897182 
iOS动效特攻队–>熊熊:648070256
CRAnimation开源项目:https://github.com/CRAnimation/CRAnimation

gitHub:CRNumberFadedAnimation

断断续续3周的时间,把这个动效还原出来了。

原型是这样的。

048D2384C794BDF62E9D8145002217B0.gif

最终的实现效果是这样的

CRNumberFaded2.gif

当然了,这个动效里面的部分控件还是可以使用的。大家英文都辣么好,除非特别难理解的,一般的我就不写注释了。

数字切换控件 CRNumberFaded

CRNumberFaded控件实际上只有三个Label在一直复用。所以可以不用担心内存的问题哦。

//基本用法
CRNumberFaded *_numberFadedView = [[CRNumberFaded alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];
_numberFadedView.font = [UIFont fontWithName:@"Helvetica-Bold" size:150];
_numberFadedView.textColor = [UIColor whiteColor];
_numberFadedView.strings = strings;
_numberFadedView.delegate = self;
_numberFadedView.backgroundColor = [UIColor clearColor];
[_sliderIndicator addSubview:_numberFadedView];//可使用参数和方法
@property (weak, nonatomic) id <CRNumberFadedDelegate> delegate;
@property (strong, nonatomic) NSArray   *strings;
@property (strong, nonatomic) UIFont    *font;
@property (strong, nonatomic) UIColor   *textColor;
@property (assign, nonatomic) BOOL      allowCircle;    //是否允许无限滚动- (void)showNextView;
- (void)showLastView;
- (void)showToIndex:(int)toIndex;//支持的代理方法
@protocol CRNumberFadedDelegate <NSObject>- (void)willShowLastOneFadeAnimationWithString:(NSString *)string index:(int)index;
- (void)willStartFirstAnimationWithString:(NSString *)string index:(int)index;
- (void)fadingAnimationWithString:(NSString *)string index:(int)index;@end

滑杆控件 CRSlider

CRSlider继承自UIControl,支持UIControlEventValueChanged监听事件。
原生的UISlider可自定义的属性满足不了这个动效的需求,只能自己重新写了。

//基本用法
CRSlider *_slider = [[CRSlider alloc] initWithFrame:CGRectMake(0, 0, WIDTH, 40)];
_slider.delegate = self;
_slider.minimumValue = 0;
_slider.maximumValue = _maxNum;
_slider.poleImageVOffX = _poleImageVOffX;
[_slider addTarget:self action:@selector(testSliderChanged:) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:_slider];//可使用参数和方法
@property(nonatomic) float value;
@property(nonatomic) float minimumValue;
@property(nonatomic) float maximumValue;@property(nonatomic) float poleImageVOffX;
@property (strong, nonatomic) UIImageView *poleImageV;
@property (strong, nonatomic) UIImageView *thumbImageV;//支持的代理方法
@protocol CRSliderDelegate <NSObject>
- (void)thumbImageVDidSlided:(CRSlider *)slider;
@end

滑杆指示器控件 CRSliderIndicator

指示器里面的这个圆槽是折腾了一段时间才出来的。主要考虑到适配的问题,想想还是用比例来做的,通过Sketch临摹出曲线,然后把贝塞尔曲线的几个控制点挑出来,通过比例来做适配。图示如下,只点出来了左半边的几个点,右半边的同理。

CRSliderIndicatorMind.png

//基本用法
CRSliderIndicator *_sliderIndicator = [[CRSliderIndicator alloc] initWithFrame:CGRectMake(0, _customNaviBarView.maxY, WIDTH, sliderIndicatorHeight) withStrings:strings];
_sliderIndicator.chipOffX = _poleImageVOffX;
[self.view addSubview:_sliderIndicator];//可使用参数和方法
@property (assign, nonatomic) CGFloat   circleCenterX;              //Slider按钮的CenterX
@property (assign, nonatomic) CGFloat   r;                          //Slider按钮的半径
@property (assign, nonatomic) CGFloat   toCircleCenterYDistance;    //Slider按钮的垂直距离
@property (strong, nonatomic) NSArray   *gradientColors;            //背景渐变色数组
@property (assign, nonatomic) CGFloat   chipOffX;- (instancetype)initWithFrame:(CGRect)frame withStrings:(NSArray *)strings;

撸动效揪心的还是细节的不断调试,因为想尽可能的还原出来还是需要慢慢打磨的。不过希望大家能喜欢,也能真正的用在项目中。
如果各位在使用过程中遇到问题或者bug,欢迎在github上提出issue。

Fade 数字切换动效相关推荐

  1. uniapp image图片切换动效_动效设计从概念到落地

    一.什么是动效设计 聚焦于产品中的动效,我们常说的动效设计可以分为3类: 1.交互动效 交互动效承载了产品流程.交互行为的串联,不论可实际操作的交互原型还是纯做 demo 展示的动效过场都可以算作交互 ...

  2. UI设计素材|切换动效,打破界面沉闷感

    恰当的动效应用,不仅能够丰富页面的交互元素的视觉效果,也有助于提升整个页面的逻辑感 和空间感. 在进行用户界面设计的时候,动效可以存在于交互.转场和具体的控件操作上,动效作为一种 状态转变.交互反馈和 ...

  3. uniapp image图片切换动效_谷歌设计团队发布了一款动效神器,让 UI 和动效无缝打通...

    编者按:Google 设计团队为了更好地推进 UI 和动效设计,自己开发过不少新的工具,打通 Sketch2AE 是其中之一,如今的 AEUX 也是为了相似的目的而存在的一个全新升级的动效工具~ 动效 ...

  4. react滑动切换tab动画效果_后端设计中,如何用axure实现table切换动效?

    前段时间做了一个微信小程序的寄卖项目,前端页面这里不过多总结,今天先来说说后端里涉及到的内容.在做项目评审时候,不想局限于静态页面,所以会加些点击效果让产品demo看起来更加有实操性,先看一下Tabl ...

  5. 动效设计的物理法则:动画的一切皆在于时间点和空间幅度(转)

    动效作为当今提升网页感官效果的利器,在各种类型的网页中已经全面开花,如何做到自然流畅让用户感觉舒适的动画效果呢?今天就来跟大家聊一聊动效设计的物理法则,以及它是如何应用的. 首先来一发大师金句,迪士尼 ...

  6. 动效设计中的隐喻-2

    这次我们再看一些别的有关隐喻(或曰明示)的设计. 示意关系 所谓示意关系,就是通过特定的动作来表明界面中控件之间的某些关系,包括包含关系.前后关系和位置关系.其实就是我们以前讨论过的连接的一种.有一些 ...

  7. 前端读者 | 前端用户体验-UI动效设计

    本文来自互联网 @羯瑞 整理 UI动效现如今在 APP 和网页中几乎已经成为了基本的组成部分,经过仔细打磨的 UI动效对于整个界面的提升是显著的. 动效呈现出状态切换的过程,展现了元素之间的逻辑关系, ...

  8. Flutter Hero动画让你的APP页面切换充满动效 不一样的体验 不一样的细节处理

    优美的应用体验 来自于细节的处理,更源自于码农的自我要求与努力,当然也需要码农年轻灵活的思维. 本文章实现的Demo效果,如下图所示: 1 首先是页面的主体 在这里使用的是Scaffold脚手架来构建 ...

  9. 大屏可视化数据面板分格渐变进度条、数字翻牌器及其刷新动效实现

    数据可视化大屏是当前可视化领域的一项热门应用,通常可以分为信息展示类.数据分析类及监控预警类.这类应用的视觉设计通常效果炫酷,动效丰富,有时候一些页面布局和动画实现会对前端人员有一定的挑战性,在这里分 ...

最新文章

  1. 程序经编译连接后变为机器码
  2. 尚硅谷springcloud第二季笔记_外行人都能看懂的 Spring Cloud,错过了血亏
  3. lvs+keepalived实现负载均衡
  4. filter过滤器_不了解布隆过滤器?一文给你整的明明白白!
  5. Linux Boot,Kernel 和 Service 介绍
  6. 计算机体系结构 第一章
  7. 在IDEA中将SpringBoot项目打包成jar包的方法 不要用 在上面有可以用的
  8. 设计模式(一)预备知识
  9. batch批处理程序easyadd——追加单行文本到指定txt文件末尾
  10. 被低估的“败家爷们”
  11. django render_(django/flask/bottle)多框架python-restful接口包api-shop
  12. 基于rhel7.2的mysql5.7.13安装与配置
  13. Python_模块_Day_
  14. 解决OpenCV编译时./bin: error while loading shared libraries: libopencv_highgui.so.3.2: cannot open的问题
  15. SVN(一)------windows下搭建SVN服务器及SVN客户端安装教程
  16. 计算机英语词汇带音标,常用计算机英语词汇3000例(含音标)
  17. 逐渐消失的行业-MP3
  18. cf Educational Codeforces Round 49 D. Mouse Hunt
  19. git更换用户名和密码
  20. 计算机word除法公式,word怎么用函数计算除法

热门文章

  1. String比较.equals
  2. 详解 Date 对象
  3. 洛谷P1057 传球游戏(记忆化搜索)
  4. 静态链接库与动态链接库 (二)动态链接库的编译与使用
  5. vs2008/2010安装无法打开数据文件解决方案
  6. SAP的安装后基本设定
  7. 深入理解PHP之数组遍历
  8. 为ASP.NET控件添加常用的JavaScript操作
  9. 函数指针--Nginx和Redis中两种回调函数写法
  10. 程序员的自我修养--链接、装载与库笔记:内存