Технические вопросы и ответы QA1473

Анимация NSProgressIndicator и перерисовка

Q: Почему не делает моего NSProgressIndicator перерисуйте каждый раз, когда я обновляю, это - значение?

A: Почему не делает моего NSProgressIndicator перерисуйте каждый раз, когда я обновляю, это - значение?

Когда обновление к NSProgressIndicator необходим, когда его значение изменяется, или Вы вызываете animate:, событие для перерисовки представления добавляется к очереди событий и будет обработано в следующий раз, когда события для того представления диспетчеризируются.

Гарантировать индикатор выполнения перерисовывает сразу, необходимо вызвать:

[progressIndicator displayIfNeeded];

Это будет форсировать незаконченные события из стандартной очереди и иметь их, отразился на экране сразу.

  Пример перечисления 1 использования NSProgressIndicator управление в цикле.

[progressIndicator setMaxValue: (double)count];
//...
for (loopIndex = 0; loopIndex < count; loopIndex++)
{
     // do some work...
     [progressIndicator setDoubleValue: (double)loopIndex];
     [progressIndicator displayIfNeeded];
}


История версии документа


ДатаПримечания
15.11.2006

Новый документ, обсуждающий, почему NSProgressIndicator не перерисовывает во время циклов прогресса.