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

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

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

项目效果

timelineDemo

Ver 0.0.2

text.gif

Ver 0.0.1

Demo

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
  • 数字增加方法
  • 数字减少方法

设置

  1. 对文字及字体颜色等常见参数的设置,直接通过UILabel的参数设置即可.
  2. 输入数字支持targetNum及text两种属性输入
  3. targetNumber及text的输入,都请放在字体属性设置完成后

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

纯代码

  1. 设置frame时,如果size属性的宽不能适应展示宽度,都会自动调整,如果size属性的高度不能容纳展示高度,会自动调整,能容纳则不做任何处理
  2. 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动画翻转时间

XibDemo1

XibDemo2

如何应用

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

pod 'SPScrollNumLabel' ,'~> 0.0.2'

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

20171123 Ver.0.0.1


Enjoy It

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 68,112评论 12 115
  • 北京白天不允许大卡车进入市区,于是我那一卡车的货物只能凌晨时分悄悄完成卸货。大冬天的北京的凌晨,想想就冷啊!还好有...
    兮兮0225阅读 6评论 0 0
  • 为什么打比赛从来都不用德莱文? 而德莱文在大家的心里又都是很强的英雄啊! 这是为什么呢?这是一个问题,也是很多人都...
    黄铜刀阅读 910评论 0 0
  • 昨日的阵雨 被吹散了灰色的云层后 在地面留下一畦水洼 像一面镜子 照出了小时候的天空 那时还有理想 你呀你 还记得...
    江湖小刀阅读 47评论 0 1
  • 你脱去外衣 露出赤裸裸的身体 像一道光 展现在黑夜里 你的心是白色的 你的眼睛很明亮 你在出卖着自己的灵魂 在和命...
    皆非_lx阅读 49评论 0 0