Доступ к UITabBarController для дочерних viewControllers

Если я использую UITabBarController Item1 и Item2, viewControllers отображаются правильно. Но UITabBarButtonItem не отображает страницу перенаправления item1. UITabBarButtonItem должен отображаться на всех страницах.

введите здесь описание изображения

Моя проблема в том, что UITabBarButtonItem не отображает childViewController (красная страница). Как отобразить UITabBarButtonItem в childViewController?


person Vignesh J    schedule 30.07.2018    source источник
comment
Убедитесь, что для redViewController Hide Bottombar on Push не выбрано   -  person Sandeep Bhandari    schedule 30.07.2018
comment
Нет, сэр, у UITabBarButtonItem есть свойство Enable. Не имеет свойства скрыть   -  person Vignesh J    schedule 30.07.2018
comment
Вы можете помочь мне?   -  person Vignesh J    schedule 30.07.2018
comment
@vignesh-j: я попросил вас выбрать свой redViewController в раскадровке, открыть его инспектор свойств, там будет опция Hide Bottombar on Push, убедитесь, что она не выбрана :) Это именно то, что сказал Ахмад в своем ответе.   -  person Sandeep Bhandari    schedule 30.07.2018
comment
@SandeepBhandari проблема в том, что нет навигационного контроллера; Если я не ошибаюсь, это свойство должно работать должным образом только с навигационным контроллером, проверьте: developer.apple.com/documentation/uikit/uiviewcontroller/   -  person Ahmad F    schedule 30.07.2018
comment
@ahmad-f: правда, это не сработает, потому что, если нет навигационного контроллера, вы не можете нажать :) И свойство говорит Hide Bottombar on Push по абсолютно той же причине :) Он может представлять красный VC, в этом случае он никак не может показать вкладку полоса на красном :)   -  person Sandeep Bhandari    schedule 30.07.2018
comment
@ahmad-f: Что меня смущает, так это символ на переходе между синим и красным VC, это явно символ нажатия :) Если нигде в стеке навигации нет навигационного контроллера, это должно привести к сбою :) Вы не можете что-то нажать с помощью навигации контроллер, но OP говорит, что он может нажимать на вещи, но не видит элемент панели вкладок, поэтому я предполагаю, что в этом случае есть контроллер навигации, этого свойства должно быть достаточно для отображения панели   -  person Sandeep Bhandari    schedule 30.07.2018
comment
Да сэр. Когда я добавляю панель навигации. отображение UITabBarButtonItem на redViewController.   -  person Vignesh J    schedule 30.07.2018
comment
Если в стеке навигации нигде нет навигационного контроллера, это должно привести к сбою Нет @SandeepBhandari, это было старое поведение :) на данный момент, в этом случае он будет считаться присутствующим, а не сбоем.   -  person Ahmad F    schedule 30.07.2018
comment
Спасибо, сэр. Это работает.   -  person Vignesh J    schedule 30.07.2018
comment
@ahmad-f: хммм, звучит интересно, не могли бы вы предоставить мне ссылки или что-нибудь, чтобы узнать больше об этом   -  person Sandeep Bhandari    schedule 30.07.2018
comment
@Sandeep Bhandari Спасибо за помощь :)   -  person Vignesh J    schedule 30.07.2018
comment
@vignesh-j: рад, что смог помочь :) Пожалуйста, примите ответ Ахмада ниже :)   -  person Sandeep Bhandari    schedule 30.07.2018


Ответы (1)


Во-первых, вы должны встроить первый контроллер представления в иерархии (синий контроллер представления) в контроллер навигации. Затем в красном контроллере представления убедитесь, что свойство hidesBottomBarWhenPushed равно установить на false:

// for instance, let's assume that you will do it in the `viewDidLoad()`:
override func viewDidLoad() {
    super.viewDidLoad()

    hidesBottomBarWhenPushed = false

    // ...
}

Или, если вы хотите добиться этого от построителя интерфейса, выберите красный контроллер представления и от инспектора атрибутов и убедитесь, что опция «Скрыть нижнюю панель при нажатии» не отмечена:

введите здесь описание изображения

В противном случае, если нет навигационного контроллера (представляющего, а не нажимающего), нет возможности отобразить нижнюю панель в красном контроллере представления.

person Ahmad F    schedule 30.07.2018
comment
Спасибо, сэр, за вашу помощь. Когда я добавляю панель навигации. отображение UITabBarButtonItem на redViewController. - person Vignesh J; 30.07.2018