UINavigationController
Наследование
-
NSObject -
UIResponder -
UIViewController -
UINavigationController -
ABPeoplePickerNavigationController -
EKEventEditViewController -
GKFriendRequestComposeViewController -
GKGameCenterViewController -
GKMatchmakerViewController -
GKTurnBasedMatchmakerViewController -
MFMailComposeViewController -
MFMessageComposeViewController -
UIImagePickerController -
UIVideoEditorController
-
NSObject -
UIResponder -
UIViewController -
UINavigationController -
ABPeoplePickerNavigationController -
EKEventEditViewController -
GKFriendRequestComposeViewController -
GKGameCenterViewController -
GKMatchmakerViewController -
GKTurnBasedMatchmakerViewController -
MFMailComposeViewController -
MFMessageComposeViewController -
UIImagePickerController -
UIVideoEditorController
Соответствует
Оператор импорта
Swift
import UIKit
Objective C
@import UIKit;
Доступность
Доступный в iOS 2.0 и позже.
UINavigationController класс реализует специализированный контроллер представления, управляющий навигацией иерархического содержания. Этот интерфейс навигации позволяет представить Ваши данные эффективно и упрощает для пользователя перемещаться по тому содержанию. Вы обычно используете этот класс как есть, но в iOS 6 и позже можно разделить на подклассы для настройки поведения класса.
Экраны, представленные интерфейсом навигации обычно, подражают иерархической организации Ваших данных. На каждом уровне иерархии Вы обеспечиваете надлежащий экран (управляемый пользовательским контроллером представления) для отображения содержания на том уровне. Рисунок 1 показывает пример интерфейса навигации, представленного приложением Настроек в Средстве моделирования iOS. Первый экран дарит пользователю список приложений, содержащих предпочтения. Выбор приложения показывает отдельные настройки и группы настроек для того приложения. Выбор группы приводит к большему количеству настроек и т.д. Для всех кроме корневого представления контроллер навигации обеспечивает кнопку «Назад», чтобы позволить пользователю пятиться иерархия.
Объект контроллера навигации управляет в настоящее время выводимыми на экран экранами с помощью штабеля навигации, представленного массивом контроллеров представления. Первый контроллер представления в массиве соответствует корневому контроллеру представления. Последний контроллер представления в массиве представляет контроллер представления, в настоящее время выводимый на экран. Вы изменяете штабель с помощью методов объекта контроллера навигации. Как правило, Вы добавляете контроллер представления к вершине штабеля с помощью pushViewController:animated: метод. Продвижение контроллера представления выводит на экран свое представление в интерфейсе навигации и обновляет средства управления навигацией соответственно. Вы обычно продвигаете контроллер представления в ответ на пользовательские действия в контроллере текущего представления — например, в ответ на пользователя, касающегося строки в таблице.
Для удаления контроллера представления из штабеля программно Вы вызываете popViewControllerAnimated: метод. Кнопка «Назад» в панели навигации также демонтирует самый верхний контроллер представления и является большим количеством распространенного способа вытолкать контроллеры представления от штабеля. В iOS 7 и позже, пользователь может также вытолкать самый верхний контроллер представления путем инициирования сильно ударения от крайнего левого края экрана.
Объект контроллера навигации говорит его делегату об изменениях в активном контроллере представления. Если Вы хотите выполнить дополнительную установку или задачи очистки, связанные с продвижением и сованием контроллеров представления, можно присвоить делегата в контроллере навигации. Объект делегата, который Вы обеспечиваете, должен соответствовать UINavigationControllerDelegate протокол.
Для получения дополнительной информации о том, как интегрировать контроллеры навигации в Ваше приложение, см. Каталог Контроллера Представления для iOS. Для получения дополнительной информации о контроллерах представления см. Руководство по программированию Контроллера Представления для iOS.
Представления контроллера навигации
Контроллер навигации является контейнерным контроллером представления — т.е. он встраивает содержание других контроллеров представления в себе. Вы получаете доступ к представлению контроллера навигации от view свойство. Это представление включает панель навигации, дополнительную панель инструментов и довольное представление, соответствующее самому верхнему контроллеру представления. Рисунок 2 показывает, как эти представления собраны для представления полного интерфейса навигации. (В этом числе интерфейс навигации далее встраивается в интерфейсе панели вкладок.) Несмотря на то, что содержание панели навигации и изменений представлений панели инструментов, сами представления не делают. Фактически изменяющееся единственное представление является пользовательским довольным представление, предоставленное самым верхним контроллером представления на штабеле навигации.
Контроллер навигации управляет созданием, конфигурацией и дисплеем панели навигации и дополнительной панели навигации. Допустимо настроить связанные с появлением свойства панели навигации, но Вы никогда не должны изменять 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(rootViewControllerrootViewController: UIViewController)Objective C
- (instancetype)initWithRootViewController:(UIViewController *)rootViewControllerПараметры
rootViewControllerКонтроллер представления, находящийся у основания штабеля навигации. Этот объект не может быть экземпляром
UITabBarControllerкласс.Возвращаемое значение
Инициализированный контроллер навигации возражает или
nilесли была проблема, инициализирующая объект.Обсуждение
Это - удобный метод для инициализации получателя и продвижения корневого контроллера представления на штабель навигации. Каждый штабель навигации должен иметь по крайней мере один контроллер представления для действия как корень.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 2.0 и позже.
-
Инициализирует и возвращает недавно создаваемый контроллер навигации, использующий Ваши пользовательские подклассы панели.
Объявление
Swift
init(navigationBarClassnavigationBarClass: AnyClass?, toolbarClasstoolbarClass: AnyClass?)Objective C
- (instancetype)initWithNavigationBarClass:(Class)navigationBarClasstoolbarClass:(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]!, animatedanimated: Bool)Objective C
- (void)setViewControllers:(NSArray *)viewControllersanimated:(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, animatedanimated: Bool)Objective C
- (void)pushViewController:(UIViewController *)viewControlleranimated:(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, animatedanimated: Bool) -> [AnyObject]?Objective C
- (NSArray *)popToViewController:(UIViewController *)viewControlleranimated:(BOOL)animatedПараметры
viewControllerКонтроллер представления, что Вы хотите быть наверху штабеля. Этот контроллер представления должен в настоящее время быть на штабеле навигации.
animatedУстановите это значение в
YEStrueанимировать переход. ПередачаNOfalseпри установке контроллера навигации, прежде чем его представление будет выведено на экран.Возвращаемое значение
Массив, содержащий контроллеры представления, вытолканные от штабеля.
Обсуждение
Для получения информации о том, как обновляется панель навигации, посмотрите Обновление Панели навигации.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 2.0 и позже.
-
interactivePopGestureRecognizerСвойствоУстройство распознавания жеста, ответственное за сование контроллера вида сверху от штабеля навигации. (только для чтения)
Объявление
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, animatedanimated: Bool)Objective C
- (void)setNavigationBarHidden:(BOOL)hiddenanimated:(BOOL)animatedПараметры
hiddenУказать
YEStrueскрыть панель навигации илиNOfalseпоказать его.animatedУказать
YEStrueесли Вы хотите анимировать изменение в видимости илиNOfalseесли Вы хотите, чтобы панель навигации сразу появилась.Обсуждение
Для анимированных переходов продолжительность анимации указана значением в
UINavigationControllerHideShowBarDurationпостоянный.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 2.0 и позже.
См. также
-
hidesBarsOnTapСвойствоБулево значение, указывающее, позволяет ли контроллер навигации скрываться его панелей с помощью жеста касания.
Объявление
Swift
var hidesBarsOnTap: BoolObjective C
@property(nonatomic, readwrite, assign) BOOL hidesBarsOnTapОбсуждение
Когда значение этого свойства
YEStrue, контроллер навигации переключает сокрытие и показ его панели навигации и панели инструментов в ответ на иначе необработанное касание в предметной области. Значение по умолчанию этого свойстваNOfalse.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 8.0 и позже.
-
hidesBarsOnSwipeСвойствоБулево значение, указывающее, скрывает ли панель навигации свои панели в ответ на сильно ударить жест.
Объявление
Swift
var hidesBarsOnSwipe: BoolObjective C
@property(nonatomic, readwrite, assign) BOOL hidesBarsOnSwipeОбсуждение
Когда это свойство установлено в
YEStrue, восходящее сильно ударяет, скрывает панель навигации и панель инструментов. Нисходящее сильно ударяет, показывает обе панели снова. Если панель инструментов не имеет никаких элементов, это остается видимым даже после сильно ударения. Значение по умолчанию этого свойстваNOfalse.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 8.0 и позже.
-
hidesBarsWhenVerticallyCompactСвойствоБулево значение, указывающее, скрывает ли контроллер навигации свои панели в вертикально компактной среде.
Объявление
Swift
var hidesBarsWhenVerticallyCompact: BoolObjective C
@property(nonatomic, readwrite, assign) BOOL hidesBarsWhenVerticallyCompactОбсуждение
Когда значение этого свойства
YEStrue, контроллер навигации скрывает свою панель навигации и панель инструментов, когда это переходит к вертикально компактной среде. После возврата вертикально регулярной среде контроллер навигации автоматически показывает обе панели снова. Кроме того, необработанные касания в предметной области заставляют контроллер навигации показывать обе панели снова. Значение по умолчанию этого свойстваNOfalse.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 8.0 и позже.
-
hidesBarsWhenKeyboardAppearsСвойствоБулево значение, указывающее, скрывает ли контроллер навигации свои панели, когда появляется клавиатура.
Объявление
Swift
var hidesBarsWhenKeyboardAppears: BoolObjective C
@property(nonatomic, readwrite, assign) BOOL hidesBarsWhenKeyboardAppearsОбсуждение
Когда это свойство установлено в
YEStrue, появление клавиатуры заставляет контроллер навигации скрывать свою панель навигации и панель инструментов. Значение по умолчанию этого свойстваNOfalse.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 8.0 и позже.
-
navigationBarHiddenСвойствоБулево значение, указывающее, скрыта ли панель навигации.
Объявление
Swift
var navigationBarHidden: BoolObjective C
@property(nonatomic, getter=isNavigationBarHidden) BOOL navigationBarHiddenОбсуждение
Если
YEStrue, панель навигации скрыта. Значение по умолчаниюNOfalse. Установка этого свойства изменяет видимость панели навигации, не анимируя изменения. Если Вы хотите анимировать изменение, используйтеsetNavigationBarHidden:animated:метод вместо этого.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 2.0 и позже.
-
barHideOnTapGestureRecognizerСвойствоУстройство распознавания жеста раньше скрывало и показывало навигацию и панель инструментов. (только для чтения)
Объявление
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 и позже.
-
barHideOnSwipeGestureRecognizerСвойствоУстройство распознавания жеста раньше скрывало панель навигации и панель инструментов. (только для чтения)
Объявление
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 и позже.
См. также
-
Изменяет видимость встроенной панели инструментов контроллера навигации.
Объявление
Swift
func setToolbarHidden(_hidden: Bool, animatedanimated: Bool)Objective C
- (void)setToolbarHidden:(BOOL)hiddenanimated:(BOOL)animatedПараметры
hiddenУказать
YEStrueскрыть панель инструментов илиNOfalseпоказать его.animatedУказать
YEStrueесли Вы хотите, чтобы панель инструментов была анимирована на или от экрана.Обсуждение
Можно использовать этот метод для анимации изменений в видимости встроенной панели инструментов.
Вызов этого метода с
animatedнабор параметра кNOfalseэквивалентно установке значенияtoolbarHiddenсвойство непосредственно. Панель инструментов просто появляется или исчезает в зависимости от значения вhiddenпараметр.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 3.0 и позже.
См. также
-
toolbarHiddenСвойствоБулевская переменная, указывающая, видима ли встроенная панель инструментов контроллера навигации.
Объявление
Swift
var toolbarHidden: BoolObjective C
@property(nonatomic, getter=isToolbarHidden) BOOL toolbarHiddenОбсуждение
Если это свойство установлено в
YEStrue, панель инструментов не видима. Значение по умолчанию этого свойстваYEStrue.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 3.0 и позже.
-
Представляет указанный контроллер представления в интерфейсе навигации.
Объявление
Swift
func showViewController(_vc: UIViewController, sendersender: AnyObject!)Objective C
- (void)showViewController:(UIViewController *)vcsender:(id)senderПараметры
vcКонтроллер представления для отображения.
senderОбъект, выполнивший запрос для показа контроллера представления.
Обсуждение
Этот метод продвигает новый контроллер представления на штабель навигации похожим способом как
pushViewController:animated:метод. Можно вызвать этот метод непосредственно, если Вы хотите, но обычно этот метод вызывают откуда-либо в иерархии контроллера представления, когда должен быть показан новый контроллер представления.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 8.0 и позже.
-
Глобальная константа, указывающая предпочтительную продолжительность при анимации панели навигации.
Объявление
Swift
let UINavigationControllerHideShowBarDuration: CGFloatObjective C
extern const CGFloat UINavigationControllerHideShowBarDurationКонстанты
