iOS
UINavigationController
Поиск…
замечания
Из документации :
Класс UINavigationController реализует специализированный контроллер представлений, который управляет навигацией по иерархическому контенту. Этот навигационный интерфейс позволяет эффективно представлять ваши данные и облегчает пользователю навигацию по этому контенту. Обычно вы используете этот класс как есть, но вы также можете подклассы настраивать поведение класса.
Включение навигационного контроллера
К предыдущему контроллеру представления
Чтобы вернуться к предыдущей странице, вы можете сделать это:
стриж
navigationController?.popViewControllerAnimated(true)
Objective-C
[self.navigationController popViewControllerAnimated:YES];
К контроллеру корневого представления
Чтобы попасть в корень стека навигации, вы можете сделать это:
стриж
navigationController?.popToRootViewControllerAnimated(true)
Цель C
[self.navigationController popToRootViewControllerAnimated:YES];
Создание навигационного контроллера
В своем раскадровке выберите ViewController, который вы хотите встроить в контроллер навигации.
Затем перейдите в Редактор> Вставить в> Контроллер навигации
И это создаст ваш контроллер навигации
Программно встраивать контроллер вида в навигационный контроллер
стриж
//Swift
let viewController = UIViewController()
let navigationController = UINavigationController(rootViewController: viewController)
//Objective-C
UIViewController *viewController = [[UIViewController alloc] init];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:viewController];
Нажатие контроллера просмотра в стек навигации
//Swift
let fooViewController = UIViewController()
navigationController?.pushViewController(fooViewController, animated: true)
//Objective-C
UIViewController *fooViewController = [[UIViewController alloc] init];
[navigationController pushViewController:fooViewController animated:YES];
Цель
UINavigationController
используется для формирования древовидной иерархии контроллеров представлений, которая называется navigation stack
.
С точки зрения разработчиков:
Вы можете подключить самостоятельно сделанный контроллер и получить все преимущества бесплатного менеджера иерархии и общего приглашенного пользовательского интерфейса бесплатно. UINavigationController
анимирует переход к новым контроллерам и автоматически предоставляет вам функциональные возможности. UINavigationController
также предоставляет доступ ко всем другим контроллерам в navigation stack
которые могут помочь получить доступ к некоторым функциям или данным.
С точки зрения пользователя:
UINavigationController
помогает запомнить, где пользователь в данный момент (название панели навигации), и как он может вернуться (встроенная кнопка назад) на один из предыдущих экранов.