任务: 将进度条(NSProgressIndicator)从0到100顺利进行。
问题: 进度条从0到100但不顺利。
我现在做了什么:
// scan click on which the prgress should start
-(void)ScanNowClick:(id)sender
{
// setting initial value of progress bar
[progressbar setDoubleValue:0];
// starting timer
[NSTimer scheduledTimerWithTimeInterval:0.5
target:self
selector:@selector(callAfter10sec:)
userInfo:nil
repeats:YES];
}
// timer that will update progress bar
-(void)callAfter10sec:(NSTimer *)time {
double value = [progressbar doubleValue]+10;
[[progressbar animator] setDoubleValue:value];
if(value >= 100)
{
[time invalidate];
}
}
///图层也设置
答案 0 :(得分:0)
在处理与UI相关的更新时,您应该使用CADisplayLink
而不是NSTimer
。
每秒调用60次链接(按屏幕刷新率)
在回调中,您应该计算推进视图的比例