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

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

Github:SPScrollNumLabel
若是你以为帮助到你了,但愿给鶸一个Star,谢谢
简书
博客
若是你发现任何问题,请必定要给我拍砖,谢谢github

项目效果
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属性,不然没法正常显示atom

纯代码

  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
XibDemo2spa

如何应用

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

pod 'SPScrollNumLabel' ,'~> 0.0.2'

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

20171123 Ver.0.0.1rem


Enjoy It

相关文章
相关标签/搜索