Как я могу связать несколько контроллеров представления с одним представлением контейнера?

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

Есть несколько кнопок, таких как «Домой», «Профиль», «Настройки» и т. Д. И я хочу изменить содержимое представления контейнера с помощью метки кнопки, когда пользователь нажимает одну из этих кнопок. Это возможно?

Спасибо.

Примечание. Я не могу изменить содержимое контроллера просмотра, связанное с контейнером. Потому что для каждой кнопки должны быть разные типы контроллеров просмотра (например, navigationvc, tableviewvc).

---- Отредактировано по запросу

Есть основной ВК. У него есть боковая панель слева и несколько кнопок. Эти кнопки предназначены для изменения содержимого представления контейнера. Я не добавлял никаких переходов в раскадровку, потому что могу добавить только один. На данный момент я хочу выполнить программный переход, а не более простой способ. Таким образом, я могу заполнить содержимое представления контейнера любым контроллером представления, который захочу. Но я не знаю, как я могу это сделать?

Кнопки боковой панели:

Домашняя страница и профиль -> вызывает другой ViewController, который будет отображаться контейнером

Настройка, Сообщения, Магазин -> вызывает другой TableViewController, который будет отображаться контейнером

Короче говоря, есть пять кнопок, и каждая из них запускает разные переходы пяти разных контроллеров представления. И есть только один контейнер, отображающий сработавший View Controller.

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


person Faruk    schedule 31.07.2015    source источник
comment
Я бы предложил использовать контроллер панели вкладок для того, что вы делаете, а затем вы можете использовать другой контроллер представления для представления каждой вкладки.   -  person Matt Le Fleur    schedule 31.07.2015
comment
Я разрабатывал это приложение для друга, и ему не понравилась эта идея. В любом случае спасибо за предложение.   -  person Faruk    schedule 31.07.2015
comment
Не могли бы вы добавить скриншот, показывающий кнопки, которые вы упомянули? Может дать лучшее представление о том, куда вы хотите пойти с ним.   -  person Tom Elliott    schedule 31.07.2015
comment
Я объяснил подробнее, как мог. Но я не добавил скриншот из-за моей репутации.   -  person Faruk    schedule 31.07.2015


Ответы (1)


Решено с помощью этого кода:

    var homeVC: homeViewController = storyboard?.instantiateViewControllerWithIdentifier("Home") as! homeViewController           
    self.containerView.addSubview(homeVC.view)
    self.addChildViewController(homeVC)

Могу объяснить подробнее, если кто спросит.

ОБНОВЛЕНИЕ:

Я думаю, что тема ниже объясняет более эффективный способ связать несколько view controllers с одним container view

https://kodesnippets.wordpress.com/2015/08/11/container-view-in-ios/

person Faruk    schedule 31.07.2015
comment
Привет, Фарук, я пытаюсь делать то же, что и ты. У меня был рабочий проект в Obj C, но я пока не могу заставить его работать быстро. Не могли бы вы показать некоторые подробности? Спасибо! - person BossBols; 23.08.2015
comment
Привет BossBols, извините за большую задержку. Я только что увидел твой комментарий. Если вам все еще нужны эти подробности, я могу поделиться. - person Faruk; 10.10.2015
comment
Привет, Фарук. Я нашел способ заставить его работать около месяца назад. Преобразование потребовало некоторых нестандартных размышлений, Swift может быть странным!. Спасибо за ответ! - person BossBols; 11.10.2015
comment
Да все верно. Иногда это может быть странно. Искренне извините за задержку еще раз. - person Faruk; 11.10.2015
comment
@Faruk ссылка, которую вы разместили, избавила меня от множества разочарований! Спасибо - person Lance Samaria; 26.04.2017
comment
Я был бы очень рад, если бы я сделал вашу работу немного меньше. @LanceSamaria - person Faruk; 26.04.2017
comment
@Faruk: Ребята, не могли бы вы опубликовать окончательный ответ здесь. Даже несмотря на то, что BossBols нашел свое собственное решение или у вас есть собственное решение, люди вроде меня все еще ждут его. :P Можете ли вы опубликовать свои ответы здесь. - person Tejas; 16.08.2017
comment
В любом случае, найден ответ по ссылке, что и ваша приведенная выше ссылка: sandmoose.com/post/35714028270/ - person Tejas; 16.08.2017
comment
@Faruk Пожалуйста, скажите мне, могу ли я добавить два VC в контейнер и могу ли я сосредоточиться на обоих одновременно. Например: Wynk Music App: - Там у нас есть список музыки, а также музыка, воспроизводимая в разных VC, которую можно расширять и сворачивать. - person Kudos; 26.02.2021