2015-02-02 2 views
0

Мне нужно отобразить два разных вида в зависимости от того, что выбрано в UISegmentedControl. Я не знаю, с чего начать. Вид (контроллер) должен отображаться в UISegmentedControl.MvvmCross ios UISegmentedControl для отображения разных контроллеров просмотров

Так assmume У меня есть MainView (Controller), который содержит сегментированный управления и два вида Child1View (контроллер) и Child2View (контроллер)

Я полагаю, мне нужно два MvxViewControllers (один для каждого ребенка будет показан) внутри MainView (Controller), но я не уверен, как я создаю экземпляр и показываю их, когда я выбираю его через сегментированный элемент управления.

My MainViewModel имеет команды для отображения моделей детского вида (поскольку у меня есть эквивалентная реализация Android с использованием вкладок), но как я могу заставить их отображать внутри MainView (Controller), который содержит сегментированный элемент управления. Я не могу разместить UIVIewController в UIViewController в XCode при создании моего xib-файла.

Пожалуйста, помогите.

ответ

0

После многих часов, пытаясь вот что я сделал

В моей MainView (контроллер) для каждого представления контроллеров мне нужно, чтобы создать экземпляр я сделал вызов CreateViewControllerFor создавать свои контроллеры просматривать

var child1ViewModelRequest = new MvxViewModelRequest(typeof(Child1ViewModel), null, null. null); 
child1View = (Child1View) this.CreateViewControllerFor<Child1ViewModel>(child1ViewModelRequest); 

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

currentViewController = (UIViewController)child1View; 
this.AddChildViewController(currentViewController); 
currentViewController.View.Frame = containerView.Bounds; 
containerView.Add(currentViewController.View); 

Примечание currentViewController и child1View являются переменными-членами MainView (Контроллер)