NSProgressIndicator не работает более одного раза
Я использую NSProgressIndicator в своем приложении ETL для 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 ответа
Я нашел ответ. я нуждался в nil
некоторые объекты просто для перезапуска всего процесса приложения. Поэтому после этого приложение создает новые экземпляры этих объектов и NSProgressIndicator
работает как надо.
Переместите индикатор NSProgress вперед, как показано ниже, и попробуйте снова. закомментируйте свою ошибку, если что-то у вас есть