Найти тему
Urban University

Реализация навигации с помощью UINavigationController (IOS).

Оглавление

UINavigationController реализует паттерн "stack" (стек).

Каждый раз, когда вы перемещаетесь на новый экран, он добавляется поверх стека, а предыдущий остается под ним. Когда пользователь нажимает кнопку "Назад", верхний контроллер снимается со стека, и отображается предыдущий.

Основные элементы:

✔️Корневой контроллер (rootViewController) — это первый экран, который добавляется в стек при инициализации.
✔️Заголовок — каждая страница может иметь собственный заголовок, который будет отображаться в верхней части экрана.
✔️Кнопка "Назад" — добавляется автоматически при переходе на новый экран.

Инициализация UINavigationController:

1. Для использования UINavigationController его нужно установить в качестве корневого контроллера вашего приложения.
2. Для навигации между экранами используется метод pushViewController(_:animated:), который добавляет новый контроллер в стек.
3. Чтобы вернуться к предыдущему экрану, используется метод popViewController(animated:), который удаляет текущий контроллер из стека и возвращает пользователя на предыдущий.

-2

Настройка панели навигации UINavigationController предоставляет гибкие возможности для настройки панели навигации (navigation bar).

1. Изменение заголовка: Заголовок задается для каждого контроллера через свойство
title self.title = "Первый экран".
2. Изменение цвета панели: Вы можете изменить цвет фона и текста кнопок:
navigationController?.navigationBar.barTintColor = .blue //
3. Цвет фона
navigationController?.navigationBar.titleTextAttributes = [.foregroundColor: UIColor.white] //
4. Цвет текста Добавление кнопок в навигационную панель


❗️
Важной функцией UINavigationController является возможность добавления кнопок действий в панель навигации с помощью UIBarButtonItem.

Для возврата сразу к корневому экрану используется метод popToRootViewController(animated:). Пример возврата к корневому экрану: navigationController?.popToRootViewController(animated: true)
Это удаляет все контроллеры поверх корневого из стека.


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

Онлайн-обучение по IOS-разработке от Urban University.

Ключевые теги статьи: Urban University, ООО «ЭДЭКС», онлайн-университет Urban, IOS, IOS-разработка, IOS-разработчик, UINavigationController, курсы по программированию, обучение IT айти.