2017-01-13 10 views
0

У меня есть меню, которое представляет собой только табличное представление на вкладке. Когда вы выбираете одну из ячеек таблицы, она переходит к диспетчеру просмотра, встроенному в контроллер навигации. я добавил кнопку «Готово» к этому навигационному контроллеру и создал переход в меню. однако теперь меню не показывает TabBar и теперь показывает навигационную панель с кнопкой «Назад» на нем.Контроллер навигации, мешающий контроллеру TabBar

Это меню (часть панели вкладок) только табличное

enter image description here

Это страница, показанная при нажатии Tableview ячейки

enter image description here

Этим меню снова после нажатия «Готово»

enter image description here

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

Любые идеи, как исправить это?

----- EDIT -----

Это поддержка страницы без кнопки 'Done'

enter image description here

------ EDIT -----

это расположение потока, жаль его грязной работой на маленьком экране ноутбука атм

enter image description here

+0

для отображения на странице поддержки, вы отображая его с помощью pushviewcontroller или presentviewcontroller? – jo3birdtalk

+0

Я использую push segue – Pippo

+0

, если вы не настроили кнопку «Готово», видите ли вы кнопку «Назад»? Вы видите панель навигации? – jo3birdtalk

ответ

1

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

enter image description here

override func tableView(_ tableView: UITableView, didSelectRowAt 
indexPath: IndexPath){ 
    if(indexPath.row == THE_ROWNUMBER_OF_YOUR_SUPPORT_PAGE){ 
     let displaySupportPage = self.storyboard?.instantiateViewController(withIdentifier: "SuppportPage") as! ChooseSalonTVC 
     self.navigationController?.pushViewController(displaySupportPage, animated: true) 
    } 

} 

enter image description here

Проверить "Скрыть Bottom Bar On Пуш"

+0

Он не отображает кнопку« Назад »на панели навигации, но я не могу видеть панель вкладок либо при нажатии кнопки« Готово » – Pippo

+0

Пожалуйста, покажите свои коды при вызове страницы поддержки и кодах для вашей кнопки« Готово ». – jo3birdtalk

+0

все это было сделано в построителе интерфейса. Столбец является статичным с segue от ячейки к контроллеру навигации. плохо добавить скриншот макета к исходному вопросу – Pippo

1

Вы должны использовать «Показать (например, Push) «segue, а не« Push », что позволяет ему правильно отображаться в стеке.

Использование« Push »требует наличия существующего экрана внутри навигационного контроллера, который он не выполняет при первом загрузке. Используя «Push», он перемещает контроллер в стек навигационного контроллера, который после нажатия на него покидает навигационную панель.

Используя опцию «Показать (например, Push)», система будет использовать модальное представление или навигационный контроллер, основанный на вашей текущей иерархии представлений.

Показать (например,Push):

enter image description here

Примечание: если ваш вид показан с помощью модели представления вы должны использовать

[self dismissViewControllerAnimated:YES completion:nil]; 

и не

[self.navigationController popViewControllerAnimated:YES]; 

Вы можете сделать быстрый проверьте, чтобы выбрать правильный метод:

if (self.navigationController) { 
    [self.navigationController popViewControllerAnimated:YES]; 
} 
else { 
    [self dismissViewControllerAnimated:YES completion:nil]; 
} 

Это позволит показать экран несколько способов без необходимости делать какие-либо дополнительные проверки

+0

На самом деле это шоу (показать, например, push) – Pippo

+0

Ahhh, ваша формулировка заставила меня подумать, что вы использовали устаревший вариант «Push» :) –

+0

Я понял, что вы имели в виду с вашим комментарием из вашего редактирования. Я отредактировал свой ответ с вашим редактированием и некоторой дополнительной перепиской –