NSProgressIndicator不会多次使用

时间:2013-05-28 17:05:45

标签: macos progress-bar nsprogressindicator

我在我的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;

2 个答案:

答案 0 :(得分:0)

如下图所示将NSProgress指示灯置于正面,然后重试。如果有任何问题,请评论您的错误

enter image description here

答案 1 :(得分:0)

我找到了答案。我需要nil一些对象才能重新启动应用程序的整个过程。因此,应用程序之后会创建此对象的新实例,并且它们是干净的,因此NSProgressIndicator的工作方式应该如此。