Мне нужно сделать NSTimer
, который сообщит другому классу об активации через 10 секунд, и я также хотел бы использовать его для анимации дефинированного NSProgressIndicator
. Мне также нужно знать, как изменить свой неопределенный индикатор прогресса на определенный. Я смог найти документ Apple по этому вопросу, однако более подробное объяснение поможет., связывающий NSTimer с NSProgressIndicator
ответ
От неопределенного до определенного NSProgressIndicator
Вы можете изменить в IB. Выберите вашу progressIndicator и перейти к атрибутам инспектора и снимите неопределенных флажок, как это:
Или это может быть сделано программно:
[progressIndicatorOutlet setIndeterminate:NO];
Примечание: progressIndicatorOutlet Твоя NSProgressIndicator
розетка, поэтому не забудьте сделать это IBOutlet
.
Наличное NSProgressIndicator анимация:
Это очень просто просто установить и изменить значение, как это:
[progressIndicatorOutlet setDoubleValue:10];
Примечание: progressIndicatorOutlet Твоя NSProgressIndicator
розетка, поэтому не забывайте до IBOutlet
это.
NSTimer:
Простого пример таймера:
//Place this where You want to call class after 10 sec. (for example: when button pressed)
//It will call class with name callAfter10sec after 10 sec. Place in there what You need to do.
[NSTimer scheduledTimerWithTimeInterval:10.0
target:self
selector:@selector(callAfter10sec:)
userInfo:nil
repeats:YES];
Не забудьте добавить класс, который я упоминал в комментариях, как это:
-(void)callAfter10sec:(NSTimer *)time {
// Do what You want here
}
Надеется, что это помогает.
Используя следующий способ, которым мы можем добиться того, что, как ожидается,
NSInteger progressValue;
NSTimer *timerObject;
progressValue = progressMaxValue;
timerObject = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(incrementProgressBar) userInfo:nil repeats:YES];
[timerObject fire];
[self.progressBar setMinValue:progressMinValue];
[self.progressBar setMaxValue:progressMaxValue];
[self.progressBar setDoubleValue:progressValue];
- (void)incrementProgressBar {
// Increment the progress bar value by 1
[self.progressBar incrementBy:1.0];
progressValue--;
[self.progressBar setDoubleValue:progressValue];
}
Благодаря отчислять, это было очень полезно. – Tor