перейти от UITabBar к UITabBar

#swift #xcode #segue

#swift #xcode #segue

Вопрос:

Я не могу перейти с одной страницы на другую, не потеряв TabBarController

Я использую didSelectRow и могу восстановить данные, а также изменить страницу, за исключением того, что меню панели вкладок в моем представлении не отображается

 override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        let storagepasse: String

        tableView.deselectRow(at: indexPath as IndexPath, animated: true)

        storagepasse = storages[indexPath.row].id!
        print(storagepasse)
       let storyboard = UIStoryboard(name: "Main", bundle: nil)
       let secondView = storyboard.instantiateViewController(withIdentifier: "GestionStorage") as! InformationStorageController
       secondView.infoStorage = storagepasse
      self.present(secondView, animated: true,completion: nil)
    }
  

Раскадровка

Текущий результат

Комментарии:

1. present буквально представляет новый ViewController поверх текущего. Какие бы представления ни находились за ним, они никогда не будут показаны. Попробуйте использовать, navigationController.push(....) и tabBar данные будут сохранены.

Ответ №1:

Проверьте свойство modalPresentationStyle в vc (secondView). Вам нужно что-то вроде .CurrentContext или .overCurrentContext.

Комментарии:

1. Спасибо, но ваше решение не сработало в моей ситуации.

Ответ №2:

Используйте push view controller вместо его представления.

 self.navigationController?.pushViewController(secondView, animated: true)
  

Вы также можете добавить это.

 self.navigationController?.tabBarController?.hidesBottomBarWhenPushed = false
  

Комментарии:

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