iOS用CADisplayLink写一个ContinueLabel

本文介绍一个用CADisplayLink实现一个简单的ContinueLabel。

1、CADisplayLink

CADisplayLink是一个能让我们以和屏幕刷新率同步的频率将特定的内容画到屏幕上的定时器类,iOS设备的屏幕刷新频率(FPS)是60Hz,因此CADisplayLink的默认调用周期是每秒60次,这个周期可以通过frameInterval属性设置。
主要方法:

_displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(updateNumber)];
[_displayLink addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSRunLoopCommonModes];

2、NSNumberFormatter

NSNumberFormatter用于格式化输出NSNumber;
主要属性:

  1. numberStyle
NSNumberFormatter *numberF = [NSNumberFormatter new];
    numberF.locale = [NSLocale localeWithLocaleIdentifier:@"ZH_CN"];
    //    numberF.formatWidth = 15;//15位输出,不足补 *
    NSNumber *number = @12345.6789;
    numberF.numberStyle = NSNumberFormatterDecimalStyle;//小数形式:12,345.679
    NSLog(@"DecimalStyle: %@",[numberF stringFromNumber:number]);
    numberF.numberStyle = NSNumberFormatterCurrencyStyle;//货币形式,中国:¥
    NSLog(@"CurrencyStyle: %@",[numberF stringFromNumber:number]);
    numberF.numberStyle = NSNumberFormatterPercentStyle;//百分百
    NSLog(@"PercentStyle: %@",[numberF stringFromNumber:number]);
    numberF.numberStyle = NSNumberFormatterScientificStyle;//科学计数
    NSLog(@"ScientificStyle: %@",[numberF stringFromNumber:number]);
    numberF.numberStyle = NSNumberFormatterSpellOutStyle;//全拼,中国是 一万两千...
    NSLog(@"SpellOutStyle: %@",[numberF stringFromNumber:number]);
    numberF.numberStyle = NSNumberFormatterOrdinalStyle;//序号,第...,四舍五入
    NSLog(@"OrdinalStyle: %@",[numberF stringFromNumber:number]);
    numberF.numberStyle = NSNumberFormatterCurrencyISOCodeStyle;
    NSLog(@"CurrencyISOCodeStyle: %@",[numberF stringFromNumber:number]);
  1. 其它属性
    zeroSymbol:number等于零时的样式;
    decimalSeparator:小数点的样式;
    positivePrefix/positiveSuffix、negativePrefix/negativeSuffix:正数/负数的前缀/后缀;
    minimumFractionDigits:小数位最少位数;
    maximumFractionDigits:小数位最多位数;
    roundingIncrement:四舍五入的增量值,比如以10为进位值,那么156就进位为160,154进位为150;
    其它属性还有很多,大家可以自己尝试...

3、最后

YContinueLabel_Demo.gif

show me the code

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 10,518评论 5 13
  • 在这里总结一些iOS开发中的小技巧,能大大方便我们的开发,持续更新。 UITableView的Group样式下顶部...
    管你爱不爱阅读 3,089评论 0 1
  • UITableView的Group样式下顶部空白处理 //分组列表头部空白处理UIView*view = [[UI...
    莫离_焱阅读 3,097评论 0 0
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 12,709评论 6 30
  • floata =0.01;intb =99999999;doublec =0.0;c = a*b;NSLog(@"...
    Lv明阅读 4,695评论 0 0