UINavigationController реализует паттерн "stack" (стек).
Каждый раз, когда вы перемещаетесь на новый экран, он добавляется поверх стека, а предыдущий остается под ним. Когда пользователь нажимает кнопку "Назад", верхний контроллер снимается со стека, и отображается предыдущий.
Основные элементы:
- Корневой контроллер (rootViewController) — это первый экран, который добавляется в стек при инициализации.
- Заголовок — каждая страница может иметь собственный заголовок, который будет отображаться в верхней части экрана.
- Кнопка "Назад" — добавляется автоматически при переходе на новый экран.
Инициализация UINavigationController
1. Для использования UINavigationController, его нужно установить в качестве корневого контроллера вашего приложения.
2. Для навигации между экранами используется метод pushViewController(_:animated:), который добавляет новый контроллер в стек.
3. Чтобы вернуться к предыдущему экрану, используется метод popViewController(animated:), который удаляет текущий контроллер из стека и возвращает пользователя на предыдущий.
Настройка панели навигации UINavigationController предоставляет гибкие возможности для настройки панели навигации (navigation bar).
Изменение заголовка: Заголовок задается для каждого контроллера через свойство title self.title = "Первый экран"
Изменение цвета панели: Вы можете изменить цвет фона и текста кнопок: navigationController?.navigationBar.barTintColor = .blue //
Цвет фона navigationController?.navigationBar.titleTextAttributes = [.foregroundColor: UIColor.white] //
Цвет текста Добавление кнопок в навигационную панель
Важной функцией UINavigationController является возможность добавления кнопок действий в панель навигации с помощью UIBarButtonItem.
Для возврата сразу к корневому экрану используется метод popToRootViewController(animated:). Пример возврата к корневому экрану: navigationController?.popToRootViewController(animated: true)
Это удаляет все контроллеры поверх корневого из стека.
UINavigationController — мощный инструмент для создания многослойной навигации в приложениях iOS. Он предоставляет стандартный способ перемещения между экранами, позволяя разработчикам легко управлять стеком представлений, настраивать панель навигации и добавлять кнопки действий.
Urban University предлагает современные образовательные программы, ориентированные на практический опыт и актуальные технологии. Наши курсы помогут вам приобрести необходимые знания и навыки для успешной карьеры. Присоединяйтесь к нам, чтобы стать специалистом в области информационных технологий.