#ios #swift #uinavigationcontroller #uinavigationbar
Вопрос:
Я начинаю переносить приложение с Android на iOS и знакомлюсь с контроллерами навигации. Я хотел бы получить вашу помощь и вклад в следующий сценарий:
- Основная раскадровка:
- Логинвьюконтроллер
- RegisterViewController
- Контроллер MainViewController
- Раскадровка администратора (упрощенная)
- UserListTableViewController
- UserDetailViewКонтроллер
- Некоторые другие контроллеры просмотра доступны из списка пользователей
Возможные варианты навигации (Переходы)
- От Входа До регистрации (Нажмите здесь, чтобы зарегистрироваться)
- От Входа На Главную Страницу (Вход В Систему Обычного Пользователя)
- От Входа В Список Пользователей (Вход В Систему Пользователя-Администратора)
- От Регистрации До Учетной записи пользователя (Заполните дополнительную информацию после успешной регистрации)
- От Главного К Списку пользователей (Администратор)
- От Главного К пользователю (Обычный пользователь)
- Из Списка Пользователей В Список пользователей
Моя проблема связана с кнопкой «Навигационная панель назад». Учитывая приведенные выше сегменты, я хотел бы:
- если с помощью Входа в систему или регистрации, никаких кнопок «Назад»
- Еще кнопка на спине
Самые сложные сценарии:
- Пользователь-администратор входит в систему, показывает список пользователей без кнопки назад
- Пользователь с правами администратора переходит из списка основных пользователей в список пользователей, кнопка «Показать назад» отображается в списке основных
- Пользователь-администратор переходит из списка пользователей в список пользователей, показывает кнопку «Назад» в списке пользователей
- Обычный пользователь переходит от основного к пользовательскому списку, показывает кнопку «Назад» в основной
Как вы можете видеть, иногда в списке пользователей не будет кнопки «Назад», а иногда в нем будет кнопка «Назад», которая возвращается к основной; А кнопка «Назад» в списке пользователей будет либо возвращаться к списку пользователей, либо к основной, в зависимости от того, откуда она была вызвана;
I’ve used IBuilder and embeded both UserList and UserDetail on their own UINavigationControllers
I have a segue from UserList to UserDetailNavigation
Дело в том, что UserDetail никогда не показывает кнопку «Назад», так как это корневое представление его собственного навигатора. То же самое для списка пользователей. Должен ли я «принудительно» включать кнопку «Назад» в эти корневые представления и контролировать их поведение?
Спасибо за любые мысли!