2

我想在文本更改时为我的 UILabel 设置动画。对于某些情况:我有一个标签,其中包含当前温度(例如 57º)我想对其进行动画处理,使其从 0º 到 57º 向上计数。这是一个显示我想要的视频:http ://www.youtube.com/watch?v=mXfOvGflVWw (可以在 iPhone 和 iPad 的国家地理公园应用程序的统计菜单中找到)如果有人能指出我关于如何做到这一点的正确方向,那将是美妙的。我会使用类似 NSTimer 的东西,但这些值是动态的......

谢谢!

4

1 回答 1

3

当然不是最有效的,但一种非常简单的方法来做到这一点,而不需要额外的实例变量:

NSInteger fromValue = 0;
NSInteger toValue = 57; //In this example toValue has to be greater than fromValue
NSString *suffix = @"°";
NSTimeInterval interval = 0.016; //Adjust for different animation speed
NSTimeInterval delay = 0.0;
for (NSInteger i = fromValue; i <= toValue; i++) {
    NSString *labelText = [NSString stringWithFormat:@"%i%@", i, suffix];
    [myLabel performSelector:@selector(setText:) withObject:labelText afterDelay:delay];
    delay += interval;
}
于 2012-07-29T19:17:03.490 回答