我有一个确定的进度指示器。它就像我期望的那样工作,但在达到 maxValue 后它不会消失。我已将进度指示器设置为在 main.nib 文件中停止时不显示,我还将其输入到 awakeFromNib{} 方法中。我在例程的末尾放置了一个日志,以确保 [displayWhenStopped] 设置仍然设置为 NO 并且确实如此。
这是我的代码:
-(void)getEvents:(NSURL *)mffFile{
NSMutableArray * eventTypeResults =[[NSMutableArray alloc]init];
EWaveformRecording *ptrToRcdFile = [EWaveformRecording openRecording:mffFile permission:readOnly user:nil convertFileFormat:NO openReadOnlyAnyway:NO];
NSArray *events = [ptrToRcdFile getEvents];
//get the size of events for the progressbar and instantiate a loop counter
NSInteger total = [events count];
int loop = 0;
//set progress bar params
[self->meter_ setUsesThreadedAnimation:YES];
[self->meter_ setControlSize:NSMiniControlSize];
[self->meter_ setMaxValue:(double)total];
for(EEvent* event in events){
loop ++;
if(![eventTypeResults containsObject:event.code]){
NSLog(@"check eventNames in getEvents %@", event.code);
[eventTypeResults addObject: event.code];
}//end if
//display loop increment in progress bar
[self->meter_ setDoubleValue:(1000*(double)loop)/1000];
}//end for
//send the eventTypesResults array to the EventExport class
[evtPtr setEventsAvailableList:eventTypeResults];
}
我试过的:
有和没有我不完全理解的 [setUsesThreadedAnimation];它确实减慢了进度条,使它看起来更好,但文档说只有不确定的类型应该受到动画的影响。
我尝试过使用 [开始和停止动画] 我在循环后尝试过 [setDisplayWhenStopped:NO]
非常感谢任何帮助