Я пытаюсь изменить содержимое своего представления контейнера на основе того, что было выбрано из TableViewController
, и у меня нет идеи.
Структура моего storyboard
выглядит так:
В настоящее время в моем представлении контейнера есть переход с табличным представлением, и он отлично работает. Теперь, после выбора чего-либо из табличного представления, например карты, я хочу отобразить MapViewController
внутри представления контейнера и сохранить верхний и нижний колонтитулы. Как я могу это сделать?
Сначала отключите переход от представления контейнера к DestinationViewController
в раскадровке.
Теперь загрузите объект viewController на основе вашего предыдущего выбора tableViewController.
//this controller will be change on tableView selection make your own logic here.
let controller = storyboard!.instantiateViewController(withIdentifier: "Second")
addChildViewController(controller)
//Set this value false if you want to set Autolayout programmatically or set it true if you want to handle it with `frame`
controller.view.translatesAutoresizingMaskIntoConstraints = false
containerView.addSubview(controller.view)
controller.didMove(toParentViewController: self)
Спасибо, не могли бы вы мне объяснить, куда положить эту инструкцию? У меня также есть проблема с этим: «этот контроллер будет изменен при выборе tableView, сделайте здесь свою собственную логику». не могли бы вы объяснить мне, как передать выбранную запись из TableView для изменения контроллера?
Вам нужно будет вручную добавить дочерний viewController, используя примеры в документы Apple