Контроллер модального представления нежелательно скрывает панель вкладок

Я работаю над приложением, которое требует аутентификации пользователя для доступа к профилю. Раздел профиля находится исключительно на одной вкладке (а все остальные вкладки не требуют аутентификации). В настоящее время я представляю контроллер представления аутентификации модально (и затем закрываю в случае успеха), когда пользователь выбирает вкладку профиля. Однако такой подход не позволяет пользователю принять решение не регистрироваться/не входить в систему (то есть все вкладки скрываются после того, как экран аутентификации представлен модально). Я не хочу, чтобы пользователь мог закрыть модальный контроллер представления, а сделал его модальным только для вкладки профиля. Это возможно? Могу ли я иметь видимые вкладки при наличии контроллера модального представления? Каков наилучший подход здесь. Спасибо.


person Kevin Sylvestre    schedule 17.06.2010    source источник


Ответы (2)


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

person JAB    schedule 17.06.2010
comment
+1 У ОП проблема с дизайном, потому что ему на самом деле не нужен вид модели. Он просто хочет заблокировать операцию на одной вкладке. Модальные представления предназначены для блокировки всего интерфейса. - person TechZen; 17.06.2010
comment
@TechZen: Действительно, и если бы я действительно знал достаточно об UIKit, я бы предложил что-нибудь для этого. - person JAB; 17.06.2010
comment
Да, я ищу «псевдо» контроллер модального представления. Модальный вид в определенных вкладках. Для этого не существует элементов UIKit? - person Kevin Sylvestre; 17.06.2010
comment
Самое простое решение — отключить элементы управления, которые вы не хотите активировать, и снова включить их, когда закончите. - person TechZen; 17.06.2010
comment
Apple предлагает использовать модальное представление для представления альтернативной ориентации (например, альбомной). developer.apple.com/library/ios/#featuredarticles/ По этой причине у меня та же проблема, что и у ОП. Как показать модальное представление, не закрывая панель вкладок. - person Snips; 15.01.2011

Xcode 10:

В инспекторе атрибутов в разделе «Контроллер представления» у вас есть параметр «Презентация».

а) Если вы выберете Over Current Context, модальное представление будет отображаться только над представлением, но панель вкладок появится в верхней части представления.

b) В противном случае, если вы выберете Over Full Screen, модальное представление будет отображаться во всем пользовательском интерфейсе, включая панели вкладок.

person Ricardo Isidro    schedule 14.11.2018