Don’t make people sit around staring at a static screen waiting for your app to load content or perform lengthy data processing operations. Use activity indicators and progress bars to let people know your app isn’t stalled and to give them some idea of how long they’ll be waiting.
See also Loading.
An activity indicator spins while an unquantifiable task, such as loading or synchronizing complex data, is performed. It disappears when the task completes.
Favor progress bars over activity indicators. If activity is quantifiable, use a progress bar instead of an activity indicator so the user can better gauge what’s happening and how long it will take.
Keep activity indicators moving. People associate a stationary activity indicator with a stalled process. Keep it spinning so they know something’s happening.
If it’s helpful, provide useful information while waiting for a task to complete. Include a text label above an activity indicator to give extra context. Avoid vague terms like Loading or Authenticating because they don’t usually add any value.
For developer guidance, see UIActivityIndicatorView.
A progress bar includes a track that fills from left to right to show the progression of a task with a known duration.
Always report progress accurately. Don’t display inaccurate progress information just to make your app appear busy. Only use progress bars for tasks that are quantifiable. Otherwise, use an activity indicator.
Use progress bars for tasks with a well-defined duration. Progress bars are great for showing the status of a task, especially when it helps convey how much longer the task needs to complete.
For developer guidance, see UIProgressView.