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