Iphone 在iOS上设置动态整数值动画?

Iphone 在iOS上设置动态整数值动画?,iphone,objective-c,ios,animation,label,Iphone,Objective C,Ios,Animation,Label,每当文本更改时,我都要设置UILabel的动画。对于某些上下文:我有一个标签,其中包含当前温度(比如57º),我想对其设置动画,使其从0º上升到57º。这里有一段视频,展示了我想要的:(可以在iPhone和iPad的国家地理公园应用程序的统计菜单中找到)如果有人能为我指出正确的方向,那就太好了。我会使用类似NSTimer的东西,但这些值是动态的 谢谢 当然不是最有效的,但这是一种非常简单的方法,无需额外的实例变量: NSInteger fromValue = 0; NSInteger toVal

每当文本更改时,我都要设置UILabel的动画。对于某些上下文:我有一个标签,其中包含当前温度(比如57º),我想对其设置动画,使其从0º上升到57º。这里有一段视频,展示了我想要的:(可以在iPhone和iPad的国家地理公园应用程序的统计菜单中找到)如果有人能为我指出正确的方向,那就太好了。我会使用类似NSTimer的东西,但这些值是动态的


谢谢

当然不是最有效的,但这是一种非常简单的方法,无需额外的实例变量:

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;
}
NSInteger fromValue=0;
NSInteger-toValue=57//在本例中,toValue必须大于fromValue
NSString*后缀=@“°”;
NSTimeInterval=0.016//调整不同的动画速度
NSTimeInterval延迟=0.0;

因为(NSInteger i=fromValue;谢谢,这做得很好。你说这不是最有效的方式是什么意思(只是有点好奇:P)?再次感谢!因为所有中间值都是一次性计算和调度的,而您只需使用计时器计算当前值,所以会有一些开销。我不建议长动画使用此方法(超过3秒左右),但对于简短的内容,应该可以。感谢您的解释,这只是一个简短的动画,到目前为止,我还没有收到任何性能问题。再次感谢。