Разработка для iPhone — ограничить взаимодействие пользователя с приложением и показать индикатор прогресса.

StackOverflow https://stackoverflow.com/questions/446077

  •  22-07-2019
  •  | 
  •  

Вопрос

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

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

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

Это было полезно?

Решение

Стефан предложил использовать UIAlertView с UIProgressView или UIActivityIndicatorView.Это решение сработало для меня, но, как обсуждалось с некоторыми другими членами сообщества разработчиков iPhone, этот подход не рекомендуется.

Рекомендуемый подход — использовать новое представление и установить для него значение прозрачности альфа 7 или 8, установить черный фон, добавить UIProgressView или UIActivityIndicatorView в это представление и использовать это новое представление для отображения прогресса.При использовании этой техники не требуется никаких хаков.Хотя в случае добавления UIActivityIndicatorView в UIAlertView вы фактически выполняете недокументированную операцию (что не рекомендуется).

Спасибо.

Другие советы

Просто создайте UIAlertView без кнопок, это предотвратит любое взаимодействие с пользователем.

Вы можете добавить UIProgressView или UIActivityIndicatorView к своему предупреждению, если хотите.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top