Разработка iPhone - ограничить взаимодействие пользователя с приложением и показать индикатор прогресса - PullRequest
6 голосов
/ 15 января 2009

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

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

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

Ответы [ 2 ]

6 голосов
/ 19 января 2009

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

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

Спасибо.

1 голос
/ 15 января 2009

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

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

...