Индикатор прогресса
Не заставляйте пользователей сидеть и смотреть на статический экран в ожидании загрузки содержимого вашего приложения или выполнения длительных операций по обработке данных. Используйте индикаторы активности и индикаторы прогресса, чтобы дать людям понять, что ваше приложение не остановилось, и дать им некоторое представление о том, как долго они могут ждать.

См. также раздел Загрузка.
Индикаторы активности
Индикатор активности вращается во время выполнения не поддающейся количественному измерению задачи, такой как загрузка или синхронизация сложных данных. Он исчезает, когда задача завершается. Индикаторы активности не являются интерактивными.

Видео:
https://drive.google.com/open?id=1vGybZ_mBCDTJmhTgu5toCw6DdtYQEKxZ

Предпочтите использование полосы прогресса по сравнению с показателями деятельности. Если активность поддается количественной оценке, используйте индикатор прогресса вместо индикатора активности, чтобы пользователи могли оценить, что происходит и сколько времени это займет.

Не останавливать индикаторы активности. Ползователи ассоциируют статичный индикатор активности с застопорившимся процессом. Пусть он вращается, чтобы они знали, что что-то происходит.

Если это поможет, предоставьте полезную информацию во время ожидания завершения задания. Включите ярлык над индикатором активности, чтобы обозначить дополнительный контекст. Избегайте расплывчатых терминов, таких как загрузка или аутентификация, потому что они не добавляют никакой дополнительной информации.

Руководство для разработчиков см. в UIActivityIndicatorView.
Индикаторы прогресса
Индикатор прогресса включает в себя дорожку, которая заполняется слева направо, чтобы показать ход выполнения задачи с известной длительностью. Индикаторы прогресса не являются интерактивными, однако часто сопровождаются кнопкой отмены соответствующей операции.

Видео:
https://drive.google.com/open?id=1hGKl3l_w701KztrxzVAQfJGOtsHdWJ8Z

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

Использовать индикаторы прогресса для задач с четко определенной длительностью. Отрезки времени отлично подходят для отображения состояния задачи, особенно когда это помогает сообщить, как много времени уйдет на завершение задачи.

Спрячьте незаполненную часть пути в навигационных панелях и панелях инструментов. По умолчанию индикатор прогресса включает в себя как заполненную, так и незаполненную часть пути. При использовании в навигационной панели или панели инструментов, например, для обозначения загрузки страницы, индикатор выполнения должен быть настроен на скрытие незаполненной части пути.

Рассмотрите возможность настройки внешнего вида индикатора прогресса в соответствии с вашим приложением. Внешний вид индикатора может быть настроен в соответствии с дизайном вашего приложения. Например, можно задать пользовательский оттенок.

Руководство для разработчиков см. в разделе UIProgressView.
Индикаторы сетевой активности*
В iOS 12 и более ранних версиях, а также на устройствах без дисплеев, по краям экрана вращается индикатор сетевой активности по мере того, как происходит сетевое взаимодействие. Он исчезает по завершении работы в сети. Этот индикатор выглядит точно так же, как индикатор активности и не является интерактивным.

Видео:
https://drive.google.com/open?id=1Kic798bF39G5k9N-meWtqOexN5sLXgy4

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

См. также раздел "Строка состояния". Для руководства разработчика см. метод NetworkActivityIndicatorVisible в UIApplication.