Использование UINavigationItem на UITabBarController - PullRequest
0 голосов
/ 27 января 2019

У меня есть проект с UITabBarController и парой просмотров.Вроде как:

enter image description here

В этом проекте контроллер панели вкладок вызывается нажатием кнопки Tab на UIViewController.Я хотел бы избавиться от кнопки «Назад» с «Заголовком» и заменить ее значком «X».При нажатии значок «X» пропустит UITabBarController и вернется к вызывающей стороне.Я делаю это все время на UINavigationController, используя UINavigationItem, но в этой ситуации это не работает.Я перетаскиваю UINavigationItem в представление, и это позволяет ему, но оно не отображается в представлении, и любые UIBarButtonItem, которые я перетаскиваю на него, не отображаются.

Есть ли способна самом деле это сделать?Я бы даже смог оставить существующую кнопку «назад» как есть и просто избавиться от «Заголовка»

1 Ответ

0 голосов
/ 27 января 2019

Я понял это сразу после публикации вопроса.Еще немного исследований - все, что нужно.

Чтобы исправить это, добавьте следующее к коду UITabBarController.

override func viewDidLoad() {
    super.viewDidLoad()

    let buttonImage = UIImage(named: "back")

    let leftButton = UIBarButtonItem(image: UIImage(named: "back"), style: .plain, target: self, action: #selector(dismissTabBar))
    leftButton.tintColor = UIColor.black

    self.navigationItem.leftBarButtonItem = leftButton
}

@IBAction func dismissTabBar() {
    self.navigationController?.popToRootViewController(animated: true)
}

Это дает мне черную кнопку возврата с моим изображением.Когда я нажимаю на него, он возвращает меня к вызывающему UIViewController.

...