Navigation Bar - видовое представление панели навигации

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

Реализация:

  • Навигационный бар реализован непосредственно в классе UINavigationBar.
  • Элементы навигации реализованы в классе UINavigationItem.
  • Элементы кнопок бара реализованы в классе UIBarButtonItem.
  • Элементы бара реализованы в классе UIBarItem.

Настройка

Настройка навигационного бара осуществляется в Interface Builder, в секции Navigation Bars инспектора атрибутов. Однако не все настройки можно выполнить в инспекторе атрибутов, и вы должны их выполнить программно.

Содержимое навигационного бара

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

Панель навигации отображает информацию из стека объектов UINavigationItem. В любой момент времени, UINavigationItem, расположенный на вершине стека (topItem) определяет информацию для навигационного бара, такую как правая кнопка и запрос. UINavigationItem, лежащий под topItem является backItem, который предоставляет левую кнопку или кнопку "Назад".

Вы также можете добавить кнопки бара в UINavigationItem. Обычно UINavigationItem имеет заголовок и одно из системных изображений. Также может иметь правую кнопку и левую, расположенную на месте кнопки "Назад".

Для добавления этих элементов в навигационный бар, выберите интересующий элемент в библиотеке элементов Interface Builder и перетащите их в ваш storyboard.

Поведение навигационного бара

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

Вы можете добавить навигационный контроллер в ваше приложение в Interface Builder или программно. Навигационный контроллер автоматически назначает себя в качестве делегата его навигационного бара.

Когда вы используете навигационный бар как одиночный объект, вы устанавливаете первоначальный внешний вид навигационной панели, создавая соответствующие объекты UINavigationItem и добавляете их в стек объекта навигационной панели. При создании одиночного навигационного бара в Interface Builder, Xcode создает связанный UINavigationItem объект для элементов, которые вы перетаскиваете в навигационный бар.

Вы также ответственны за управление стеком из UINavigationItem объектов, если вы используете навигационный бар как одиночный объект. Вы размещаете новый навигационный элемент на стеке, используя метод pushNavigationItem:animated:, а извлекаете со стека с помощью метода - popNavigationItemAnimated:. В дополнение для размещаемых и извлекаемых элементов, вы также устанавливаете содержимое напрямую, используя свойство items или метод setItems:animated:. Вы можете использовать эти методы для восстановления первоначального состояния вашего интерфейса вталкивая и выталкивая сразу несколько навигационных элементов.

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

 
 
homeЗаметили ошибкукарта сайта 
   Made on a Mac