Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Ссылка платформы UIKit ссылка класса UINavigationController

Опции
Развертывание Target:

На этой странице
Язык:

UINavigationController

Оператор импорта


Swift

import UIKit

Objective C

@import UIKit;

Доступность


Доступный в iOS 2.0 и позже.

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

Экраны, представленные интерфейсом навигации обычно, подражают иерархической организации Ваших данных. На каждом уровне иерархии Вы обеспечиваете надлежащий экран (управляемый пользовательским контроллером представления) для отображения содержания на том уровне. Рисунок 1 показывает пример интерфейса навигации, представленного приложением Настроек в Средстве моделирования iOS. Первый экран дарит пользователю список приложений, содержащих предпочтения. Выбор приложения показывает отдельные настройки и группы настроек для того приложения. Выбор группы приводит к большему количеству настроек и т.д. Для всех кроме корневого представления контроллер навигации обеспечивает кнопку «Назад», чтобы позволить пользователю пятиться иерархия.

Демонстрационный интерфейс навигации рисунка 1A image: ../Art/navigation_interface.jpg

Объект контроллера навигации управляет в настоящее время выводимыми на экран экранами с помощью штабеля навигации, представленного массивом контроллеров представления. Первый контроллер представления в массиве соответствует корневому контроллеру представления. Последний контроллер представления в массиве представляет контроллер представления, в настоящее время выводимый на экран. Вы изменяете штабель с помощью методов объекта контроллера навигации. Как правило, Вы добавляете контроллер представления к вершине штабеля с помощью pushViewController:animated: метод. Продвижение контроллера представления выводит на экран свое представление в интерфейсе навигации и обновляет средства управления навигацией соответственно. Вы обычно продвигаете контроллер представления в ответ на пользовательские действия в контроллере текущего представления — например, в ответ на пользователя, касающегося строки в таблице.

Для удаления контроллера представления из штабеля программно Вы вызываете popViewControllerAnimated: метод. Кнопка «Назад» в панели навигации также демонтирует самый верхний контроллер представления и является большим количеством распространенного способа вытолкать контроллеры представления от штабеля. В iOS 7 и позже, пользователь может также вытолкать самый верхний контроллер представления путем инициирования сильно ударения от крайнего левого края экрана.

Объект контроллера навигации говорит его делегату об изменениях в активном контроллере представления. Если Вы хотите выполнить дополнительную установку или задачи очистки, связанные с продвижением и сованием контроллеров представления, можно присвоить делегата в контроллере навигации. Объект делегата, который Вы обеспечиваете, должен соответствовать UINavigationControllerDelegate протокол.

Для получения дополнительной информации о том, как интегрировать контроллеры навигации в Ваше приложение, см. Каталог Контроллера Представления для iOS. Для получения дополнительной информации о контроллерах представления см. Руководство по программированию Контроллера Представления для iOS.

Представления контроллера навигации

Контроллер навигации является контейнерным контроллером представления — т.е. он встраивает содержание других контроллеров представления в себе. Вы получаете доступ к представлению контроллера навигации от view свойство. Это представление включает панель навигации, дополнительную панель инструментов и довольное представление, соответствующее самому верхнему контроллеру представления. Рисунок 2 показывает, как эти представления собраны для представления полного интерфейса навигации. (В этом числе интерфейс навигации далее встраивается в интерфейсе панели вкладок.) Несмотря на то, что содержание панели навигации и изменений представлений панели инструментов, сами представления не делают. Фактически изменяющееся единственное представление является пользовательским довольным представление, предоставленное самым верхним контроллером представления на штабеле навигации.

Представления рисунка 2The контроллера навигации image: ../Art/NavigationViews.jpg

Контроллер навигации управляет созданием, конфигурацией и дисплеем панели навигации и дополнительной панели навигации. Допустимо настроить связанные с появлением свойства панели навигации, но Вы никогда не должны изменять frame, bounds, или alpha значения непосредственно. Если Вы разделяете на подклассы UINavigationBar, необходимо инициализировать контроллер навигации с помощью initWithNavigationBarClass:toolbarClass: метод. Чтобы скрыть или показать панель навигации, используйте navigationBarHidden свойство или setNavigationBarHidden:animated: метод.

Контроллер навигации создает содержание панели навигации динамично с помощью объектов элемента навигации (экземпляры UINavigationItem класс), связался с контроллерами представления на штабеле навигации. Для изменения содержания панели навигации необходимо поэтому сконфигурировать элементы навигации пользовательских контроллеров представления. Для получения дополнительной информации об элементах навигации, посмотрите Ссылку класса UINavigationItem.

Обновление панели навигации

Когда пользователь изменяет контроллер представления верхнего уровня, контроллер навигации обновляет панель навигации соответственно. В частности контроллер навигации обновляет элементы кнопки панели, выведенные на экран в каждой из трех позиций панели навигации: левый, средний, и правильный. Элементы кнопки панели являются экземплярами UIBarButtonItem класс. Можно создать элементы с пользовательским содержанием или создать стандартные системные элементы в зависимости от потребностей. Для получения дополнительной информации о том, как создать элементы кнопки панели, посмотрите Ссылку класса UIBarButtonItem.

Для всех кроме корневого контроллера представления на штабеле навигации элемент на левой стороне панели навигации обеспечивает навигацию назад для предыдущего контроллера представления. Содержание этой крайней левой кнопки определяется следующим образом:

  • Если новый контроллер представления верхнего уровня имеет пользовательский левый элемент кнопки панели, тот элемент выведен на экран. Для указания пользовательского левого элемента кнопки панели установите leftBarButtonItem свойство элемента навигации контроллера представления.

  • Если контроллер представления верхнего уровня не имеет пользовательского левого элемента кнопки панели, но элемент навигации предыдущего контроллера представления имеет объект в backBarButtonItem свойство, панель навигации выводит на экран тот элемент.

  • Если пользовательский элемент кнопки панели не указан ни одним из контроллеров представления, кнопка «Назад» по умолчанию используется, и ее заголовок установлен в значение title свойство предыдущего контроллера представления — т.е. контроллер представления каждый уравнивает на штабеле. (Если существует только один контроллер представления на штабеле навигации, никакая кнопка «Назад» не выведена на экран.)

Контроллер навигации обновляет середину панели навигации следующим образом:

  • Если новый контроллер представления верхнего уровня имеет пользовательское представление заголовка, дисплеи панели навигации, просматривающие вместо представления заголовка по умолчанию. Для указания пользовательского представления заголовка установите titleView свойство элемента навигации контроллера представления.

  • Если никакое пользовательское представление заголовка не установлено, панель навигации выводит на экран метку, содержащую заголовок контроллера представления по умолчанию. Строка для этой метки обычно получается из title свойство самого контроллера представления. Если Вы хотите вывести на экран различный заголовок, чем тот, связанный с контроллером представления, установи title свойство элемента навигации контроллера представления вместо этого.

Контроллер навигации обновляет правую сторону панели навигации следующим образом:

  • Если новый контроллер представления верхнего уровня имеет пользовательский правильный элемент кнопки панели, тот элемент выведен на экран. Для указания пользовательского правильного элемента кнопки панели установите rightBarButtonItem свойство элемента навигации контроллера представления.

  • Если никакой пользовательский правильный элемент кнопки панели не указан, панель навигации ничего не выводит на экран на правой стороне панели.

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

Расцветкой панели навигации управляют свойства самой панели навигации. Используйте tintColor свойство, чтобы изменить цвет оттенка элементов в панели и использовать barTintColor свойство для изменения цвета оттенка самой панели. Панели навигации не наследовали свой цвет оттенка от в настоящее время выводимого на экран контроллера представления.

Для получения дополнительной информации о панели навигации, посмотрите Ссылку класса UINavigationBar.

Отображение панели навигации

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

Панель навигации скрыта по умолчанию, но можно показать, что она для навигации взаимодействует через интерфейс путем вызова setToolbarHidden:animated: метод Вашего объекта контроллера навигации. Если не все Ваши контроллеры представления поддерживают элементы панели инструментов, Ваш объект делегата может вызвать этот метод для переключения видимости панели инструментов во время последующего нажатия и популярных операций. Использовать пользовательское UIToolbar подкласс, используйте initWithNavigationBarClass:toolbarClass: метод для инициализации контроллера навигации.

Сохранение состояния

В iOS 6 и позже, если Вы присваиваете значение этому контроллеру представления restorationIdentifier свойство, это пытается сохранить дочерние контроллеры представления на своем штабеле навигации. Контроллер навигации запускается у основания штабеля и перемещается вверх, кодируя каждый контроллер представления, также имеющий допустимую строку идентификатора восстановления. Во время следующего цикла запуска контроллер навигации восстанавливает сохраненные контроллеры представления к штабелю навигации в том же порядке, что они были сохранены.

Дочерние контроллеры представления, которые Вы продвигаете на штабель навигации, могут использовать те же идентификаторы восстановления. Контроллер навигации автоматически хранит дополнительную информацию, чтобы гарантировать, что тракт восстановления каждого дочернего элемента уникален.

Для получения дополнительной информации, о как сохранение состояния и реставрационные работы, см. Руководство по программированию Приложения для iOS.

  • Инициализирует и возвращает недавно создаваемый контроллер навигации.

    Объявление

    Swift

    init(rootViewController rootViewController: UIViewController)

    Objective C

    - (instancetype)initWithRootViewController:(UIViewController *)rootViewController

    Параметры

    rootViewController

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

    Возвращаемое значение

    Инициализированный контроллер навигации возражает или nil если была проблема, инициализирующая объект.

    Обсуждение

    Это - удобный метод для инициализации получателя и продвижения корневого контроллера представления на штабель навигации. Каждый штабель навигации должен иметь по крайней мере один контроллер представления для действия как корень.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Инициализирует и возвращает недавно создаваемый контроллер навигации, использующий Ваши пользовательские подклассы панели.

    Объявление

    Swift

    init(navigationBarClass navigationBarClass: AnyClass?, toolbarClass toolbarClass: AnyClass?)

    Objective C

    - (instancetype)initWithNavigationBarClass:(Class)navigationBarClass toolbarClass:(Class)toolbarClass

    Параметры

    navigationBarClass

    Укажите пользовательское UINavigationBar подкласс Вы хотите использовать, или указать nil использовать стандарт UINavigationBar класс.

    toolbarClass

    Укажите пользовательское UIToolbar подкласс Вы хотите использовать, или указать nil использовать стандарт UIToolbar класс.

    Возвращаемое значение

    Инициализированный контроллер навигации возражает или nil если была проблема, инициализирующая объект.

    Обсуждение

    Используйте этот метод инициализации, если Вы хотите использовать пользовательскую панель навигации или подклассы панели инструментов с контроллером навигации. При использовании этого метода Вы ответственны за добавление корневого контроллера представления прежде, чем представить контроллер навигации на экране.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 5.0 и позже.

  • topViewController Свойство

    Контроллер представления наверху штабеля навигации. (только для чтения)

    Объявление

    Swift

    var topViewController: UIViewController! { get }

    Objective C

    @property(nonatomic, readonly, retain) UIViewController *topViewController

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 2.0 и позже.

  • visibleViewController Свойство

    Контроллер представления связался с в настоящее время видимым представлением в интерфейсе навигации. (только для чтения)

    Объявление

    Swift

    var visibleViewController: UIViewController! { get }

    Objective C

    @property(nonatomic, readonly, retain) UIViewController *visibleViewController

    Обсуждение

    В настоящее время видимое представление может принадлежать или контроллеру представления наверху штабеля навигации или к контроллеру представления, представленному модально поверх самого контроллера навигации.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 2.0 и позже.

  • viewControllers Свойство

    Контроллеры представления в настоящее время на штабеле навигации.

    Объявление

    Swift

    var viewControllers: [AnyObject]!

    Objective C

    @property(nonatomic, copy) NSArray *viewControllers

    Обсуждение

    Корневой контроллер представления в индексе 0 в массиве контроллер вида сзади в индексе n-2, и лучший контроллер в индексе n-1, где n число элементов в массиве.

    Присвоение нового массива контроллеров представления к этому свойству эквивалентно вызову setViewControllers:animated: метод с animated набор параметра к NOfalse.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Заменяет контроллеры представления, которыми в настоящее время управляет контроллер навигации с указанными элементами.

    Объявление

    Swift

    func setViewControllers(_ viewControllers: [AnyObject]!, animated animated: Bool)

    Objective C

    - (void)setViewControllers:(NSArray *)viewControllers animated:(BOOL)animated

    Параметры

    viewControllers

    Контроллеры представления для размещения в штабеле. Порядок грудь-спина контроллеров в этом массиве представляет новый порядок нижней части к вершине контроллеров в штабеле навигации. Таким образом последний элемент, добавленный к массиву, становится главным элементом штабеля навигации.

    animated

    Если YEStrue, анимируйте продвижение или сование контроллера вида сверху. Если NOfalse, замените контроллеры представления без любых анимаций.

    Обсуждение

    Используйте этот метод, чтобы обновить или заменить штабель контроллера текущего представления, не продвигая или выталкивая каждый контроллер явно. Кроме того, этот метод позволяет Вам обновить набор контроллеров, не анимируя изменения, которые могли бы быть надлежащими во время запуска, когда Вы хотите возвратить контроллер навигации предыдущему состоянию.

    Если анимации включены, этот метод решает который тип перехода выполнить на основе ли последний элемент в items массив уже находится в штабеле навигации. Если контроллер представления в настоящее время находится в штабеле, но не является самым верхним элементом, этот метод использует популярный переход; если это - самый верхний элемент, никакой переход не выполняется. Если контроллер представления не находится на штабеле, этот метод использует переход нажатия. Только один переход выполняется, но когда тот переход заканчивается, все содержание штабеля заменяется новыми контроллерами представления. Например, если контроллеры A, B, и C находятся на штабеле, и Вы устанавливаете контроллеры D, A, и B, этот метод использует популярный переход, и получающийся штабель содержит контроллеры D, A, и B.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.0 и позже.

  • Продвигает контроллер представления на штабель получателя и обновляет дисплей.

    Объявление

    Swift

    func pushViewController(_ viewController: UIViewController, animated animated: Bool)

    Objective C

    - (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated

    Параметры

    viewController

    Контроллер представления для продвижения на штабель. Этот объект не может быть контроллером панели вкладок. Если контроллер представления уже находится на штабеле навигации, этот метод выдает исключение.

    animated

    Указать YEStrue анимировать переход или NOfalse если Вы не хотите, чтобы был анимирован переход. Вы могли бы указать NOfalse если Вы настраиваете контроллер навигации во время запуска.

    Обсуждение

    Объект в viewController параметр становится контроллером вида сверху на штабеле навигации. Продвижение контроллера представления заставляет свое представление быть встроенным в интерфейс навигации. Если animated параметр YEStrue, представление анимировано в позицию; иначе, представление просто выведено на экран в его заключительном расположении.

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Выталкивает контроллер вида сверху от штабеля навигации и обновляет дисплей.

    Объявление

    Swift

    func popViewControllerAnimated(_ animated: Bool) -> UIViewController?

    Objective C

    - (UIViewController *)popViewControllerAnimated:(BOOL)animated

    Параметры

    animated

    Установите это значение в YEStrue анимировать переход. Передача NOfalse при установке контроллера навигации, прежде чем его представление будет выведено на экран.

    Возвращаемое значение

    Контроллер представления, вытолканный от штабеля.

    Обсуждение

    Этот метод удаляет контроллер вида сверху из штабеля и делает новую вершину штабеля активным контроллером представления. Если контроллер представления наверху штабеля является корневым контроллером представления, этот метод ничего не делает. Другими словами, Вы не можете вытолкать последний элемент на штабеле.

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Популярность все контроллеры представления на штабеле кроме корневого контроллера представления и обновлений дисплей.

    Объявление

    Swift

    func popToRootViewControllerAnimated(_ animated: Bool) -> [AnyObject]?

    Objective C

    - (NSArray *)popToRootViewControllerAnimated:(BOOL)animated

    Параметры

    animated

    Установите это значение в YEStrue анимировать переход. Передача NOfalse при установке контроллера навигации, прежде чем его представление будет выведено на экран.

    Возвращаемое значение

    Массив контроллеров представления, представляющих элементы, вытолканные от штабеля.

    Обсуждение

    Корневой контроллер представления становится контроллером вида сверху. Для получения информации о том, как обновляется панель навигации, посмотрите Обновление Панели навигации.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Популярность просматривает контроллеры, пока указанный контроллер представления не наверху штабеля навигации.

    Объявление

    Swift

    func popToViewController(_ viewController: UIViewController, animated animated: Bool) -> [AnyObject]?

    Objective C

    - (NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated

    Параметры

    viewController

    Контроллер представления, что Вы хотите быть наверху штабеля. Этот контроллер представления должен в настоящее время быть на штабеле навигации.

    animated

    Установите это значение в YEStrue анимировать переход. Передача NOfalse при установке контроллера навигации, прежде чем его представление будет выведено на экран.

    Возвращаемое значение

    Массив, содержащий контроллеры представления, вытолканные от штабеля.

    Обсуждение

    Для получения информации о том, как обновляется панель навигации, посмотрите Обновление Панели навигации.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Устройство распознавания жеста, ответственное за сование контроллера вида сверху от штабеля навигации. (только для чтения)

    Объявление

    Swift

    var interactivePopGestureRecognizer: UIGestureRecognizer! { get }

    Objective C

    @property(nonatomic, readonly) UIGestureRecognizer *interactivePopGestureRecognizer

    Обсуждение

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • navigationBar Свойство

    Бар навигации, управляемый контроллером навигации. (только для чтения)

    Объявление

    Swift

    var navigationBar: UINavigationBar { get }

    Objective C

    @property(nonatomic, readonly) UINavigationBar *navigationBar

    Обсуждение

    Допустимо настроить появление панели навигации с помощью методов и свойств UINavigationBar класс, но Вы никогда не должны изменять frame, bounds, или alpha значения или изменяют его иерархию представления непосредственно. Чтобы показать или скрыть панель навигации, необходимо всегда делать так через контроллер навигации путем изменения navigationBarHidden свойство или вызов setNavigationBarHidden:animated: метод.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Наборы, скрыта ли панель навигации.

    Объявление

    Swift

    func setNavigationBarHidden(_ hidden: Bool, animated animated: Bool)

    Objective C

    - (void)setNavigationBarHidden:(BOOL)hidden animated:(BOOL)animated

    Параметры

    hidden

    Указать YEStrue скрыть панель навигации или NOfalse показать его.

    animated

    Указать YEStrue если Вы хотите анимировать изменение в видимости или NOfalse если Вы хотите, чтобы панель навигации сразу появилась.

    Обсуждение

    Для анимированных переходов продолжительность анимации указана значением в UINavigationControllerHideShowBarDuration постоянный.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 2.0 и позже.

    См. также

    navigationBarHidden

  • hidesBarsOnTap Свойство

    Булево значение, указывающее, позволяет ли контроллер навигации скрываться его панелей с помощью жеста касания.

    Объявление

    Swift

    var hidesBarsOnTap: Bool

    Objective C

    @property(nonatomic, readwrite, assign) BOOL hidesBarsOnTap

    Обсуждение

    Когда значение этого свойства YEStrue, контроллер навигации переключает сокрытие и показ его панели навигации и панели инструментов в ответ на иначе необработанное касание в предметной области. Значение по умолчанию этого свойства NOfalse.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • hidesBarsOnSwipe Свойство

    Булево значение, указывающее, скрывает ли панель навигации свои панели в ответ на сильно ударить жест.

    Объявление

    Swift

    var hidesBarsOnSwipe: Bool

    Objective C

    @property(nonatomic, readwrite, assign) BOOL hidesBarsOnSwipe

    Обсуждение

    Когда это свойство установлено в YEStrue, восходящее сильно ударяет, скрывает панель навигации и панель инструментов. Нисходящее сильно ударяет, показывает обе панели снова. Если панель инструментов не имеет никаких элементов, это остается видимым даже после сильно ударения. Значение по умолчанию этого свойства NOfalse.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • Булево значение, указывающее, скрывает ли контроллер навигации свои панели в вертикально компактной среде.

    Объявление

    Swift

    var hidesBarsWhenVerticallyCompact: Bool

    Objective C

    @property(nonatomic, readwrite, assign) BOOL hidesBarsWhenVerticallyCompact

    Обсуждение

    Когда значение этого свойства YEStrue, контроллер навигации скрывает свою панель навигации и панель инструментов, когда это переходит к вертикально компактной среде. После возврата вертикально регулярной среде контроллер навигации автоматически показывает обе панели снова. Кроме того, необработанные касания в предметной области заставляют контроллер навигации показывать обе панели снова. Значение по умолчанию этого свойства NOfalse.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • hidesBarsWhenKeyboardAppears Свойство

    Булево значение, указывающее, скрывает ли контроллер навигации свои панели, когда появляется клавиатура.

    Объявление

    Swift

    var hidesBarsWhenKeyboardAppears: Bool

    Objective C

    @property(nonatomic, readwrite, assign) BOOL hidesBarsWhenKeyboardAppears

    Обсуждение

    Когда это свойство установлено в YEStrue, появление клавиатуры заставляет контроллер навигации скрывать свою панель навигации и панель инструментов. Значение по умолчанию этого свойства NOfalse.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • navigationBarHidden Свойство

    Булево значение, указывающее, скрыта ли панель навигации.

    Объявление

    Swift

    var navigationBarHidden: Bool

    Objective C

    @property(nonatomic, getter=isNavigationBarHidden) BOOL navigationBarHidden

    Обсуждение

    Если YEStrue, панель навигации скрыта. Значение по умолчанию NOfalse. Установка этого свойства изменяет видимость панели навигации, не анимируя изменения. Если Вы хотите анимировать изменение, используйте setNavigationBarHidden:animated:метод вместо этого.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Устройство распознавания жеста раньше скрывало и показывало навигацию и панель инструментов. (только для чтения)

    Объявление

    Swift

    unowned(unsafe) var barHideOnTapGestureRecognizer: UITapGestureRecognizer { get }

    Objective C

    @property(nonatomic, readonly, assign) UITapGestureRecognizer *barHideOnTapGestureRecognizer

    Обсуждение

    Это свойство содержит устройство распознавания жеста, используемое, чтобы скрыть или показать панели. Устройство распознавания жеста неактивно если hidesBarsOnTap свойство YEStrue. Вы можете внести изменения в устройство распознавания жеста по мере необходимости, но не должны изменять его делегата, и Вы не должны удалять целевой объект по умолчанию и действие, прибывающие сконфигурированные с ним. Не пытайтесь заменить это устройство распознавания жеста путем переопределения свойства.

    При связи этого устройства распознавания жеста с одним собственным удостоверьтесь, что оба распознают, что их жесты одновременно гарантируют, что каждый имеет возможность обработать событие.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • Устройство распознавания жеста раньше скрывало панель навигации и панель инструментов. (только для чтения)

    Объявление

    Swift

    var barHideOnSwipeGestureRecognizer: UIPanGestureRecognizer { get }

    Objective C

    @property(nonatomic, readonly, retain) UIPanGestureRecognizer *barHideOnSwipeGestureRecognizer

    Обсуждение

    Это свойство содержит устройство распознавания жеста, используемое, чтобы скрыть и показать панель навигации и панель инструментов. Устройство распознавания жеста неактивно если hidesBarsOnSwipe свойство YEStrue. Вы можете внести изменения в устройство распознавания жеста по мере необходимости, но не должны изменять его делегата, и Вы не должны удалять целевой объект по умолчанию и действие, прибывающие сконфигурированные с ним. Не пытайтесь заменить это устройство распознавания жеста путем переопределения свойства.

    При связи этого устройства распознавания жеста с одним собственным удостоверьтесь, что оба распознают, что их жесты одновременно гарантируют, что каждый имеет возможность обработать событие.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • delegate Свойство

    Делегат объекта контроллера навигации.

    Объявление

    Swift

    unowned(unsafe) var delegate: UINavigationControllerDelegate?

    Objective C

    @property(nonatomic, assign) id< UINavigationControllerDelegate > delegate

    Обсуждение

    Можно использовать делегата навигации для выполнения дополнительных действий в ответ на изменения в интерфейсе навигации. Для получения дополнительной информации о реализации делегата, посмотрите Ссылку на протокол UINavigationControllerDelegate.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 2.0 и позже.

  • toolbar Свойство

    Пользовательская панель инструментов связалась с контроллером навигации. (только для чтения)

    Объявление

    Swift

    var toolbar: UIToolbar! { get }

    Objective C

    @property(nonatomic, readonly) UIToolbar *toolbar

    Обсуждение

    Это свойство содержит ссылку на встроенную панель инструментов, которой управляет контроллер навигации. Доступ к этой панели инструментов предоставлен исключительно для клиентов, хотящих представить лист действия от панели инструментов. Вы не должны изменять UIToolbar возразите непосредственно.

    Управление содержанием этой панели инструментов сделано через пользовательские контроллеры представления, связанные с этим контроллером навигации. Для каждого контроллера представления на штабеле навигации можно присвоить пользовательский набор элементов панели инструментов с помощью setToolbarItems:animated: метод UIViewController.

    Видимостью этой панели инструментов управляют toolbarHidden свойство. Панель инструментов также повинуется hidesBottomBarWhenPushed свойство в настоящее время видимого контроллера представления и скрывает и показывает себя автоматически по мере необходимости.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.0 и позже.

    См. также

    toolbarHidden

  • Изменяет видимость встроенной панели инструментов контроллера навигации.

    Объявление

    Swift

    func setToolbarHidden(_ hidden: Bool, animated animated: Bool)

    Objective C

    - (void)setToolbarHidden:(BOOL)hidden animated:(BOOL)animated

    Параметры

    hidden

    Указать YEStrue скрыть панель инструментов или NOfalse показать его.

    animated

    Указать YEStrue если Вы хотите, чтобы панель инструментов была анимирована на или от экрана.

    Обсуждение

    Можно использовать этот метод для анимации изменений в видимости встроенной панели инструментов.

    Вызов этого метода с animated набор параметра к NOfalse эквивалентно установке значения toolbarHidden свойство непосредственно. Панель инструментов просто появляется или исчезает в зависимости от значения в hidden параметр.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.0 и позже.

    См. также

    toolbarHidden

  • toolbarHidden Свойство

    Булевская переменная, указывающая, видима ли встроенная панель инструментов контроллера навигации.

    Объявление

    Swift

    var toolbarHidden: Bool

    Objective C

    @property(nonatomic, getter=isToolbarHidden) BOOL toolbarHidden

    Обсуждение

    Если это свойство установлено в YEStrue, панель инструментов не видима. Значение по умолчанию этого свойства YEStrue.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.0 и позже.

  • Представляет указанный контроллер представления в интерфейсе навигации.

    Объявление

    Swift

    func showViewController(_ vc: UIViewController, sender sender: AnyObject!)

    Objective C

    - (void)showViewController:(UIViewController *)vc sender:(id)sender

    Параметры

    vc

    Контроллер представления для отображения.

    sender

    Объект, выполнивший запрос для показа контроллера представления.

    Обсуждение

    Этот метод продвигает новый контроллер представления на штабель навигации похожим способом как pushViewController:animated: метод. Можно вызвать этот метод непосредственно, если Вы хотите, но обычно этот метод вызывают откуда-либо в иерархии контроллера представления, когда должен быть показан новый контроллер представления.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • Глобальная константа, указывающая предпочтительную продолжительность при анимации панели навигации.

    Объявление

    Swift

    let UINavigationControllerHideShowBarDuration: CGFloat

    Objective C

    extern const CGFloat UINavigationControllerHideShowBarDuration

    Константы

    • UINavigationControllerHideShowBarDuration

      Эта переменная указывает продолжительность при анимации панели навигации. Обратите внимание на то, что это - постоянное значение, таким образом, оно не может быть установлено.

      Доступный в iOS 2.0 и позже.