Как использовать батончики с какао? - PullRequest
4 голосов
/ 27 февраля 2012

Я новенький программист Mac и мне нужна помощь по использованию NSProgressIndicator.Я уже искал пример кода, но не смог найти ничего, что помогло бы.

Что я хочу сделать, это:

-(IBAction)startProgressBar:(id)sender; {

    //I want to make the bar update itself by the  value of 1 until it is at the value of 100
    //Example: add 1 to bar every second until it is full

}

1 Ответ

8 голосов
/ 27 февраля 2012

Я думаю performSelector:withObject:afterDelay поможет вам здесь.

Напишите метод, который будет увеличивать ваш индикатор выполнения. В конце этого метода вызовите performSelector:withObject:afterDelay для того же метода с задержкой в ​​1 секунду до заполнения бара.

Возможно, вам не нужно передавать объект этому методу, поэтому вы можете просто использовать nil.

EDIT

В вашем случае я бы порекомендовал что-то вроде этого:

- (IBAction)startProgressBar:(id)sender
{
    // Initialize the progress bar to go from 0 to 100
    [progress setMinValue:0.0];
    [progress setMaxValue:100.0];
    [progress setDoubleValue:0.0];

    // Start the auto-increment calls
    [self incrementProgressBar];
}

- (void)incrementProgressBar
{
    // Increment the progress bar value by 1
    [progress incrementBy:1.0];

    // If the progress bar hasn't reached 100 yet, then wait a second and call again
    if([progress doubleValue] < 100.0)
        [self performSelector:@selector(incrementProgressBar) withObject:nil afterDelay:1];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...