如何增加UILabel?

时间:2011-08-30 21:18:03

标签: iphone uilabel nstimer

我有一个值为0的UILabel和一个值为300的int。如何使用NSTimer让UILabel在2秒内从0到300?我希望它看起来像是逐步加起来的。

提前致谢!

3 个答案:

答案 0 :(得分:1)

实际上NSTimer精度约为50-100毫秒,所以它不能如你想要的那么平滑。但是你可以安排0.05的计时器,并测量从一开始真正经过的时间。使用后

value = timePassedInSeconds*300/2; 
NSString* label = [NSString stringWithFormat:@"%d", value]; 

如果这不够顺利,请尝试使用显示链接而不是NSTimer

答案 1 :(得分:0)

你想做什么?你想尝试展示某种点/分数动画吗?如果你做数学计算并按照你想要的间隔启动计时器,你可以做你想做的事,但我怀疑你会得到你想要的。您可能希望查看UIImageView并为其提供一系列图像来制作动画,或者通过绘画自行完成动画。

答案 2 :(得分:0)

我想出了一个不同的解决方案:

我知道我希望“计数”持续3秒......这是60 * 0.05 ...基本上计时器正在按照方法进行60次以达到总量。

addUpAb = [NSTimer scheduledTimerWithTimeInterval:0.05 target:self selector:@selector(addUpTimer) userInfo:nil repeats:YES];

-(void)addUpTimer {
    int addNo = abTOT / 60;    
    abInt += addNo;

    abductionCount.text = [NSString stringWithFormat:@"%d", abInt];

    if(abInt >= abTOT) {
        [addUpAb invalidate];
        abCount.text = [NSString stringWithFormat:@"%d", abTOT];
        }
    }