动画iOS上的动态整数值?

时间:2012-07-29 18:31:22

标签: iphone objective-c ios animation label

我想在文本发生变化时为我的UILabel制作动画。对于某些情况:我有一个标签,其中包含当前的温度(比如57º)我想要设置它的动画,使其从0º到57º向上计数。这是一个显示我想要的视频:http://www.youtube.com/watch?v=mXfOvGflVWw(在国家地理公园的iPhone和iPad应用程序中,在统计菜单中找到)如果有人能指出我正确的方向如何这样做,它会太棒了我会使用类似NSTimer的东西,但这些值是动态的......

谢谢!

1 个答案:

答案 0 :(得分: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;
}