0

我是 iOS 编程新手,我有一个问题:我想制作一种自定义进度条。我创建了 2 UIViews,一个在另一个之上,并UIView使用以下代码为前面设置动画:

[UIView animateWithDuration:1.5f delay:1.0f options:UIViewAnimationOptionCurveEaseInOut animations:^{
       [barCima setFrame:CGRectMake(10, 300, value, 30)];
    }
                     completion:nil];

但现在,我想做更多的事情。我希望在宽度条增长的同时, aUILabel出现当前值。示例:我将 de 设置value为 300。当动画发生时,它UILabel会显示进度,直到达到 300(1、2、3、4、5、6、7、...、300)。

4

1 回答 1

2

你需要一个NSTimer每隔一秒左右触发一次的,还有一个计数器。每当NSTimer火灾发生时,计数器就会增加,并且UILabel' 的文本将被更新。它应该看起来像这样

int _counter; // An instance var

self.timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerFired) userInfo:nil repeats: YES];
// Be sure you call [self.timer invalidate] when you don't need it anymore

...

-(void)timerFired {
    ++ _counter;
    self.label.text = [NSString stringWithFormat:@"%i", _counter];
}

祝你好运,我不知道你用这样的进度条做什么!

于 2013-06-23T15:04:52.587 回答