0

我在我的 OS X 的 ETL 应用程序中使用 NSProgressIndicator,我用它表示的是当前状态和给定页面的下载源。

第一次运行时一切都很好 - 就像魅力一样。当我点击重置按钮并尝试再次运行整个过程时出现问题 - 指示器在开始时已完全加载。

在我看来,我需要将其恢复为默认值,但我不知道如何...

- (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;
4

2 回答 2

0

如下所示将 NSProgress 指示器放在前面,然后重试。如果您有任何问题,请评论您的错误

在此处输入图像描述

于 2013-05-29T04:23:49.603 回答
0

我找到了答案。我需要nil一些对象来重新启动应用程序的整个过程。所以在那之后应用程序创建了这个对象的新实例并且它们是干净的,所以NSProgressIndicator它应该像它一样工作。

于 2013-05-30T14:35:18.247 回答