#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. спасибо за вашу помощь 🙂 Я не получил идеального результата, по крайней мере, я сохраняю меню панели вкладок, которого будет достаточно для моего проекта