我是iOS编程的新手,我有一个问题:
我想制作一种自定义进度条。我创建了2 UIView
个,一个在另一个之上,并使用以下代码为前UIView
设置了动画:
[UIView animateWithDuration:1.5f delay:1.0f options:UIViewAnimationOptionCurveEaseInOut animations:^{
[barCima setFrame:CGRectMake(10, 300, value, 30)];
}
completion:nil];
但是现在,我想做更多的事情。我希望在宽度栏增长时,会出现UILabel
的当前值。示例:我将de value
设置为300.在动画发生时,UILabel
显示进度,直到达到300(1,2,3,4,5,6,7 ,. ..,300)。
答案 0 :(得分: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];
}
祝你好运,以为我不知道你用的是什么进步吧!