资讯专栏INFORMATION COLUMN

iOS-支持点赞数字动画的SPScrollNumLabel

you_De / 2718人阅读

摘要:简单实现支持点赞数字动画的如果你觉得帮助到你了,希望给鶸一个,谢谢简书博客如果你发现任何问题,请一定要给我拍砖,谢谢项目效果设置目标数字设置数字滚动的动画时间设置为普通的使用设置是否为属性优先布局,针对只设置的情况,详情见数字增加方法数

简单实现支持点赞数字动画的SPScrollNumLabel

Github:SPScrollNumLabel
如果你觉得帮助到你了,希望给鶸一个Star,谢谢
简书
博客
如果你发现任何问题,请一定要给我拍砖,谢谢

项目效果

Ver 0.0.2

Ver 0.0.1

Api
@property (nonatomic, assign) IBInspectable NSInteger targetNumber;// default is 0
@property (nonatomic, assign) IBInspectable CGFloat animateDuration;// default is 0.25
@property (nonatomic, assign) IBInspectable BOOL isCommonLabel;// default is NO
@property (nonatomic, assign) BOOL centerPointPriority;// default is NO
- (void)increaseNumber:(NSInteger)increasedNum;
- (void)decreaseNumber:(NSInteger)decreasedNum;

设置目标数字

设置数字滚动的动画时间

设置为普通的UILabel使用

设置是否为center属性优先布局,针对只设置foo.center的情况,详情见Demo

数字增加方法

数字减少方法

设置

对文字及字体颜色等常见参数的设置,直接通过UILabel的参数设置即可.

输入数字支持targetNum及text两种属性输入

targetNumber及text的输入,都请放在字体属性设置完成后

注意点:如果输入的文字为中文,请不要设置Label的backgroundColor属性,否则无法正常显示

纯代码

设置frame时,如果size属性的宽不能适应展示宽度,都会自动调整,如果size属性的高度不能容纳展示高度,会自动调整,能容纳则不做任何处理

targetNumber的赋值,请务必放在配置参数的最后

CGRect screenBounds = [UIScreen mainScreen].bounds;
SPScrollNumLabel *num = [[SPScrollNumLabel alloc] initWithFrame:(CGRect){CGPointMake(screenBounds.size.width/2 - 50, 100),CGSizeMake(2, 100)}];
    
    // 设置frame时
    // 如果size属性的宽不能适应展示宽度,都会自动调整
    // 如果size属性的高度不能容纳展示高度,会自动调整,能容纳则不做任何处理
    // num.frame = (CGRect){CGPointMake(screenBounds.size.width/2 - 50, 100),CGSizeMake(2, 100)};
    
// 字体属性,直接赋值
num.textColor = [[UIColor whiteColor] colorWithAlphaComponent:0.5];
num.font = [UIFont systemFontOfSize:40 weight:UIFontWeightBold];
num.backgroundColor = [[UIColor purpleColor] colorWithAlphaComponent:0.4];
    
    
// 如果采用center赋值 需要设置是否中心点优先
SPScrollNumLabel *centerLabel = [[SPScrollNumLabel alloc] init];
centerLabel.center = CGPointMake(screenBounds.size.width/2, 250);
centerLabel.centerPointPriority = YES;
centerLabel.textColor = [[UIColor whiteColor] colorWithAlphaComponent:0.5];
centerLabel.font = [UIFont systemFontOfSize:35 weight:UIFontWeightThin];
centerLabel.backgroundColor = [[UIColor blueColor] colorWithAlphaComponent:0.4];
// 属性配置完成后,赋值 默认为0
centerLabel.text = @"998";
    
// 如果想当做普通的UILabel用 比如特殊值"1千"等 打开isCommonLabel 直接按照UILabel的使用即可
SPScrollNumLabel *commonLabel = [[SPScrollNumLabel alloc] init];
commonLabel.isCommonLabel = YES;
commonLabel.textColor = [[UIColor whiteColor] colorWithAlphaComponent:0.5];
commonLabel.font = [UIFont systemFontOfSize:35 weight:UIFontWeightThin];
commonLabel.backgroundColor = [[UIColor blueColor] colorWithAlphaComponent:0.4];
commonLabel.text = @"我可以当普通label用哦";
[commonLabel sizeToFit];
commonLabel.center = CGPointMake(screenBounds.size.width/2, commonLabel.frame.size.height/2+34);
xib

xib支持直接设置,你可以将必要的参数在这里直接设置:颜色字体动画时间是否是个普通Label动画翻转时间

如何应用

使用pod或者直接拖拽相应文件夹到你的工程下

pod "SPScrollNumLabel" ,"~> 0.0.2"

20171124 Ver.0.0.2:支持label.text的直接赋值

20171123 Ver.0.0.1


Enjoy It

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/16862.html

相关文章

  • 自定义控件及效果

    摘要:实现炫酷的登录效果美观,动画效果丰富风格底部选择器支持时间,日期,自定义带来一组风格底部选择器控件,虽然我们不提倡安卓使用风格的控件,但是难免有些产品和美工一味追求风格。 Android 动画效果定值范围选择控件 实现固定值的范围选择, 并添加动态效果, 使用方便 项目需求讨论 - Android 自定义 Dialog 实现步骤及封装 根据实际项目需求出发。因为项目中的对话框要配合整个...

    刘德刚 评论0 收藏0
  • iOS学习

    摘要:为开源点赞如何写出一个丝滑的图片浏览器写的图片浏览器,与微信一致的交互体验是一个项目的依赖管理器,使用它可以让导入第三方库和处理依赖关系变得简单。 【React Native 系列教程】Mac(OSX) 平台搭建 React Native 开发环境 在 Mac 平台上开发 React Native 需要安装以下环境和工具: Note.jsReact Native Command Lin...

    sshe 评论0 收藏0
  • 很值得收藏安卓开源控件库

    摘要:日历日历列表视图星期视图日历提交日历日期风格的日历相结合的弹出日历横向日历风格的各种样式类似显示进度数字显示进度圆形进度条有进度动画效果下载带进度带动画效果圆形进度条基于贝塞尔曲线更顺滑的进度条各种效果风格的进度条菜单仿弹出菜单方 日历 日历列表视图 https://github.com/traex/CalendarListview showImg(https://segmentfau...

    gaosboy 评论0 收藏0
  • 值得看看,2019 年 11 个受欢迎 JavaScript 动画库!

    摘要:超过的星星,是一个动画库,可以处理属性,单个转换,或任何属性以及对象。超过星星,这个动画库大小只有。超过星星,这个库基允许你以选定的速度为字符串创建打字动画。 想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你! 1.Three.js showImg(https://segmentfault.com/img/bVbkQ4X?w=551&h=358); 超过46K的星星,...

    浠ラ箍 评论0 收藏0
  • 值得看看,2019 年 11 个受欢迎 JavaScript 动画库!

    摘要:超过的星星,是一个动画库,可以处理属性,单个转换,或任何属性以及对象。超过星星,这个动画库大小只有。超过星星,这个库基允许你以选定的速度为字符串创建打字动画。 想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你! 1.Three.js showImg(https://segmentfault.com/img/bVbkQ4X?w=551&h=358); 超过46K的星星,...

    oujie 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<