Переход к представлению неизвестного типа в приложении для iPhone на основе навигации

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

Вопрос

В моем приложении для iPhone пользователь выбирает элемент из UITableView , чтобы выбрать ресурс для просмотра. Подкласс UIViewController , необходимый для обработки ресурса, неизвестен до тех пор, пока ресурс не будет получен, что может занять несколько секунд.

В ответ на действие выбора я нажимаю кнопку " загрузка " просмотр контроллера в стеке навигации. Этот контроллер представляет представление с UIActivityIndicatorView вместе с (возможно) другой информацией о состоянии и инициирует загрузку выбранного ресурса. С этой точки зрения пользователь может отменить загрузку, и в этом случае я вернусь к списку ресурсов. Если ресурс прибывает, тем не менее, создается соответствующий новый контроллер представления, соответствующий его типу.

Вот где это становится липким. Если я добавлю новое представление, специфичное для типа, в стек навигации, то «загрузка» представление все еще в стеке; очевидно, когда загрузка завершена, нет необходимости «возвращаться»; к этому мнению. Я попытался просто добавить представление для конкретного типа в качестве подпредставления " loading " вид, но это не приводит мой специфичный для типа контроллер в стек навигации, поэтому у него нет [self navigationController] для дальнейшей навигации.

Как я могу "заменить"? текущий взгляд на стек навигации с новым? Или, в более общем смысле, как я могу показать активность / прогресс, когда я еще не знаю, какой контроллер будет использоваться для отображения извлекаемого ресурса?

Я нашел довольно крутой "HUD" классы индикатора прогресса, но я не хочу, чтобы индикатор прогресса отображался в верхней части списка элементов, из которых выбирается. Вместо этого я хочу, чтобы пользователь почувствовал, что он "ушел" в новое пространство, которое ожидает заполнения.

Я довольно новичок в этом вопросе, поэтому я надеюсь, что, по крайней мере, сформулировал вопрос согласованно. Спасибо за любую помощь, которую может оказать любой.

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

Решение

Обновление . На самом деле было бы лучше отобразить " загрузку " смотреть как модальный вид. Проверьте этот вопрос для нескольких примеров .

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

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