TOMSMorphingLabel 0.5.1

TOMSMorphingLabel 0.5.1

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最新发布2015年1月

Tom König维护。



在标签的文本值之间配置可变过渡。通过设置标签的text属性来触发动画非常简单。

演示

Screen1

Podfile

platform :ios, '7.0'
pod "TOMSMorphingLabel", "~> 0.5"

使用

以与UILabel相同的方式实例化TOMSMorphingLabel,将得到一个完全正常工作的可变形标签。

TOMSMorphingLabel *label = [[TOMSMorphingLabel alloc] initWithFrame:CGRectMake(0, 42, self.view.frame.size.width, 42)];
[self.view addSubview:label];

设置和改变标签的文本属性将自动将标签的先前文本转换为新值。

label.text = @"Swift";

使用setText:withCompletionBlock设置标签的文本属性将使标签变形并在动画完成后触发完成块。

[label setText:@"Swift" withCompletionBlock:^{
  NSLog(@"label.text is now 'Swift'");
}];

注意,标签将同时执行一个变形过渡。如果在过渡过程中标签的文本值发生变化——即使它发生了多次变化——标签将调用到一个最年轻的已设置文本值的过渡。

自定义

TOMSMorphingLabel提供了配置变形过渡的外观和感觉的可能性。可配置的属性定义如下

可配置属性
animationDuration: CGFloat 从设置新文本值到变形过渡结束所经过的时间。默认:0.37
characterAnimationOffset: CGFloat 字符收缩和alpha效果的时空传播速度。默认:0.25
characterShrinkFactor: CGFloat 完全消失的字符的缩放因子。默认:4
morphingEnabled: BOOL 定义了文本值之间的变形过渡是否启用。默认:YES

变更日志

0.5.1

  • 使自定义可配置属性可通过Interface Builder访问

0.5.0

  • 打破了CADisplayLinkTOMSMorphingLabel之间的强引用周期
  • 在设置没有动画的文本时添加了对完成块的调用
  • 尊重全局[UIView areAnimationsEnabled]状态

0.2.5

  • 修复了textColor故障
  • 引入了setText:withCompletionBlock:

0.2.3

  • 修复了一个在设置文本为nil时导致崩溃的错误

0.2.2

  • 添加了禁用变形的属性

0.2.1

  • 添加了对iOS6的支持

0.2.0

  • 添加了对Unicode的支持

0.1.0

  • 初始版本

贡献 & 贡献者

我很乐意看到您改进这个库的想法!最佳的方式是通过提交拉取请求或新的Github问题进行贡献。:octocat:

  • @andrebraga 在版本 0.2.1 中增加了对 iOS6 的支持
  • @stepanhruda 在版本 0.2.2 中添加了禁用变形的属性
  • @itouch2 在版本 0.2.3 中修复了当设置文本为 nil 时导致崩溃的bug
  • @waynehartman 在版本 0.2.5 中修复了文本颜色变化的问题
  • @cyril94440 在版本 0.2.5 中添加了 setText:withCompletionBlock:
  • @wanderwaltz 在版本 0.5.0 中解决了 CADisplayLinkTOMSMorphingLabel 之间的强引用循环问题
  • @wanderwaltz 在版本 0.5.0 中增加了在没有动画的情况下设置文本时调用完成块的调用
  • @wanderwaltz 在版本 0.5.0 中使 TOMSMorphingLabel 尊重全局 [UIView areAnimationsEnabled] 状态
  • @fcanas 使自定义可配置的属性通过 Interface Builder 访问

作者

Tom König @TomKnig

许可证

TOMSMorphingLabel 在 MIT 许可证下可用。详情请参见 LICENSE 文件。