Панель вкладок исчезает при переходе - PullRequest
0 голосов
/ 27 сентября 2018

Storyboard

Чего я хочу достичь:

  • У меня есть "Login" ViewController, который переходит в Tab Bar Controller.
  • Мой Tab Bar Controller переходит к Navigation Controller, а затем "Home" ViewController с Table View.Этот вид - моя страница "Главная / Добро пожаловать".Я хочу, чтобы внизу была панель вкладок, а также статическая таблица, которую я могу редактировать с помощью ячеек прототипа.Каждая ячейка переходит к отдельной ViewController.
  • Затем я хочу иметь возможность коснуться каждой ячейки (на данный момент у меня есть настройка «Информация»), и она переходит к соответствующей ViewController.На данный момент ячейка «Информация» должна перейти ко второй Navigation Controller, а затем "Information" ViewController.
  • Оттуда я хочу другую статическую таблицу, которую я могу редактировать с помощью ячеек прототипа.Каждая ячейка перейдет в отдельный стек ViewControllers.

Моя проблема: Когда я переключаюсь из ячейки «Информация» в "Home" ViewController, панель вкладок «Информация» поднимается вверх, и панель вкладок исчезает.Я экспериментировал с другими формами переходов, но ни один из них не поддерживает панель вкладок.Я хочу, чтобы вы могли использовать панель вкладок для перехода к Info ViewController или ячейку на Home / Welcome ViewController для перехода на страницу Info.

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

Любая помощь приветствуется!Спасибо:)

1 Ответ

0 голосов
/ 27 сентября 2018

Не добавляйте segue, чтобы открыть "Information" ViewController, который является частью UITabBarController.

. Вы должны использовать didSelectRowAt для выбора ячейки в tableview.Просто добавьте одну строку в этом виде:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    tableView.deselectRow(at: indexPath, animated: true) {
    self.tabBarController?.selectedIndex = 1
}

Это изменит вкладку и откроет "Information" ViewController.

Если вы хотите загрузить "Information" ViewController с данными, относящимися кВы можете выбрать ячейку с помощью Protocols или NotificationCentre, которая может передавать данные в "Information" ViewController с Homeviewcontroller при выборе ячейки.

...