Using Indeterminate Progress Indicators
For an indeterminate progress indicator, invoke
startAnimation: to start the animation (the spinning of the barber pole) and
stopAnimation: when the task is complete. By default, the delay between animation steps is one twelfth of a second (5/60). You can change the animation delay by invoking
setAnimationDelay:. Setting the delay to a double value larger than the default value will slow the animation, while setting the delay to a smaller value will speed it up.
Instead of invoking
stopAnimation:, you can control an indeterminate progress indicator directly by sending the
animate: message. Each time you invoke
animate:, the animation advances by one step. You can speed up or slow down the animation by varying how often you invoke
animate:. Like other views, a progress indicator redisplays itself on each pass through the event loop, if needed. To ensure immediate redrawing, however, you can invoke the
displayIfNeeded method (inherited from NSView) each time you invoke
If your application is threaded, you may want the progress indicator’s animation to happen in a separate thread by calling
setUsesThreadedAnimation:. If your application doesn’t already use threads, creating a thread just for the progress indicator can actually slow down your application.
By default, a progress indicator is indeterminate.