使用Xamarin iOS的Mvvmcross,是否可以在ViewController中加载ViewController?

时间:2015-06-17 15:14:41

标签: ios xamarin mvvmcross

我有一个显示UITableView的MvxViewController。当用户选择项目时,ShowViewModel'被调用并显示一个新视图。

我的目标是覆盖它,以便在同一屏幕上的ViewContainer中呈现新视图。我不知道怎么回事。

我会使用SplitViewController,但是我想要一个拉伸整个屏幕的TabBar / NavigationBar。必须将SplitViewControllers设置为RootNavigationController - 这意味着NavigationBars只会出现在一个视图中。

Mockup of UI

2 个答案:

答案 0 :(得分:1)

为新视图创建一个UIView,并将其作为子视图添加到父ViewContainer

答案 1 :(得分:1)

我发现解决这种问题的最佳方法是创建区域服务。

区域服务只是一个保留字典的类。

当您创建UIViewController时,您可能希望使用它来呈现子视图控制器,并使用名称(例如DetailRegion)向区域服务注册它。

然后在你希望在该区域中出现的UIViewController类中,有一些方法来识别它想要呈现的区域;也许是属性。

然后,您只需创建一个自定义演示者来解析给定区域名称的UIViewController,并采取适当的操作来显示视图模型。

这可能听起来很复杂,但我现在已经在一些项目中使用了这个模型,这让我的生活变得更加轻松。

谢谢, 特里斯坦