【发布时间】:2011-09-22 03:03:57
【问题描述】:
我放置了一个显示数字的 Cocoa Touch UILabel。
我想要的是在数字更改时为 UILabel 中的文本设置动画。 以便用户更容易注意到数字的变化。
动画可以很简单,比如当文字发生变化时,先放大到更大的尺寸,然后再缩小到正常尺寸。
看来我只能为字体大小设置动画。
有什么建议吗?
谢谢
【问题讨论】:
标签: iphone ios cocoa-touch uikit uilabel
我放置了一个显示数字的 Cocoa Touch UILabel。
我想要的是在数字更改时为 UILabel 中的文本设置动画。 以便用户更容易注意到数字的变化。
动画可以很简单,比如当文字发生变化时,先放大到更大的尺寸,然后再缩小到正常尺寸。
看来我只能为字体大小设置动画。
有什么建议吗?
谢谢
【问题讨论】:
标签: iphone ios cocoa-touch uikit uilabel
为什么不对UILabel 本身进行这种规模增加并最终降低到正常水平?
在UILabel的CALayer中创建缩放动画 -
CAKeyframeAnimation *scaleAnimation = [CAKeyframeAnimation animationWithKeyPath:@"transform"];
NSArray *scaleValues = [NSArray arrayWithObjects:
[NSValue valueWithCATransform3D:CATransform3DScale(v.layer.transform, 1, 1, 1)],
[NSValue valueWithCATransform3D:CATransform3DScale(v.layer.transform, 1.1, 1.1, 1)],
[NSValue valueWithCATransform3D:CATransform3DScale(v.layer.transform, 1, 1, 1)], nil];
[scaleAnimation setValues:scaleValues];
scaleAnimation.fillMode = kCAFillModeForwards;
scaleAnimation.removedOnCompletion = NO;
[yourUILabel.layer addAnimation:scaleAnimation forKey:@"scale"];
【讨论】:
如何淡出之前的 uilabel,改变它,然后淡入(使用 alpha 属性)?
【讨论】: