Элементы панели навигации невидимы - PullRequest
0 голосов
/ 03 июля 2019

Xcode 10, Swift 5

Я пытаюсь создать кнопку на панели навигации, но не могу отобразить ее. Настройка моего проекта:

  1. ViewController1 (VC1, желтый): кнопка «Click», которая начинает переход на
  2. NavigationController (NC): переход к
  3. ViewController2 (VC2, красный): кнопка «Далее», которая загружает
  4. ViewController3 (VC3, зеленый)

Внедрение VC2 в UINavigationController и подключение его к VC3 с помощью перехода автоматически создает кнопку «Назад» в VC3.

enter image description here

Как сделать так, чтобы моя "Кнопка" справа в UINavigationBar в VC3 стала видимой - используя только раскадровку?

1 Ответ

1 голос
/ 03 июля 2019

Я сделал ошибку, добавив UINavigationBar, который был добавлен за существующим UINavigationBar, и поэтому все его элементы были невидимы!

A UINavigationBar, который был автоматически добавленUINavigationController не отображается в иерархии!Будет один, если есть кнопка «назад», поэтому в этом случае добавьте UINavigationItem вместо этого.Это создаст элемент Title.

Перетащите новый элемент, который вы хотите добавить, на левую или правую сторону UINavigationBar, и появится синий квадрат, указывающий, куда вы можете его уронить.Этот элемент может быть UIBarButtonItem (который может быть связан как кнопка), UIButton (который автоматически также создает UIBarButtonItem), ... или даже UIView.Отбрасывание элемента добавляет его в иерархию, и, если это самый первый элемент, к новым элементам Title:

  1. Элементы левой панели также будут добавлены два новых потомка
  2. Элементы кнопок правой панели

enter image description here

Внимание! При добавлении чего-либо в левую «зону перетаскивания» кнопка «назад» перезаписывается, что означает, что выВам придется самостоятельно вернуться к предыдущему экрану.Это легко сделать, создав действие «onClick» для этого элемента (Ctrl + перетащите в файл .swift), а затем вызовите:

navigationController?.popViewController(animated: true)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...