Как привязать навигационный контроллер в swift 4 - PullRequest
0 голосов
/ 15 июня 2019

Я создал навигационный контроллер с верхним элементом кнопки, поэтому теперь у меня есть панель навигации в верхней части экрана, содержащая кнопку «Выход»:

navigationItem.leftBarButtonItem = UIBarButtonItem(title: "logout", style: .plain, target: self, action: #selector(handleLogout))

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

Ответы [ 3 ]

0 голосов
/ 15 июня 2019

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

Раскадровка

  • Перейдите на панель StoryBoard и нажмите command-shift-L, чтобы открыть вашу библиотеку.
  • Затем введите searchBar и поместите его в свой ViewController.
  • После этого вы можете установить ограничения для вашего searchBar. Для вашей ситуации 0 сверху, поэтому поиск выводится нанижняя часть панели навигации.

У меня недостаточно информации о том, что вы уже сделали, поэтому я надеюсь, что это поможет.

0 голосов
/ 19 июня 2019

Кроманелли прав.Вы не можете привязать нижнюю часть верхнего UINavigation элемента.Единственное исправление, которое я обнаружил, заключалось в том, что нижняя часть верхней навигационной панели всегда (вне зависимости от версии iPhone) -45 от верхней части встроенного безопасного просмотра.Получить доступ к этому можно, выполнив:

item.topAnchor.constraints (equalTo: view.safeAreaLayoutGuide.topAnchor, constant: -45) .isActive = true

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

0 голосов
/ 15 июня 2019

Согласно документации Apple https://developer.apple.com/documentation/uikit/uinavigationcontroller UINavigationController - это контроллер представления контейнера, который управляет одним или несколькими дочерними контроллерами представления в интерфейсе навигации.Вы не можете добавлять представления внизу UINavigationBar, что вы можете сделать, это добавить представления вверху представления UIViewController.

...