我在我的ETL应用程序中使用NSProgressIndicator用于OS X和帽子我用它表示当前状态下载给定页面的来源。
第一次跑步时一切都很好 - 像魅力一样。当我点击重置按钮并尝试再次运行整个过程时出现问题 - 指示器在开始时完全加载。
听起来像我需要将其恢复为默认值,但我不知道如何...
- (IBAction)showAction:(id)sender
{
[[self panel] display];
NSLog( @"Show action" );
}
- (IBAction)restartETLAction:(id)sender
{
[etl restart];
[self setProgressBar:nil];
NSLog( @"Restart action" );
}
- (void) showProgressBarPanelWithTitle:(NSString *) title
{
[[self panel] setTitle:title];
[[self panel] makeKeyAndOrderFront:self];
}
- (void) updateProgressBarPanelWithProgressLevel:(double) progressLevel
{
[[self progressBar] setDoubleValue:progressLevel];
[[self progressBar] startAnimation:self];
}
- (void) hideProgressBarPanel
{
[self.progressBar stopAnimation:self];
[[self panel] orderOut:self];
}
当然我有一些属性:
@property (assign) IBOutlet NSPanel *panel;
@property (assign) IBOutlet NSProgressIndicator *progressBar;
答案 0 :(得分:0)
如下图所示将NSProgress指示灯置于正面,然后重试。如果有任何问题,请评论您的错误
答案 1 :(得分:0)
我找到了答案。我需要nil
一些对象才能重新启动应用程序的整个过程。因此,应用程序之后会创建此对象的新实例,并且它们是干净的,因此NSProgressIndicator
的工作方式应该如此。