MvvmCross是否支持故事板

时间:2013-02-19 07:08:08

标签: xamarin.ios mvvmcross xcode-storyboard

我一直在研究使用MvvmCross作为跨平台开发的解决方案,之前的开发仅针对iOS。我真的很喜欢故事板如何包含所有视图以及它们之间的流程。

我知道Monotouch支持他们使用我能够使用的故事板项目,但是我无法找到任何与MvvmCross一起使用的参考/示例。

目前是否支持?或者有人可以提供一些关于我如何获得此设置的提示。启动似乎是问题,因为在故事板项目中,AppDelegate中的FinishedLaunching方法通常是空的

1 个答案:

答案 0 :(得分:1)

  

目前是否支持?

我不相信。

我从未使用Storyboard构建除演示应用程序之外的任何东西 - 所以我不是专家。

然而,据我所知,我认为有三个问题需要克服。

1。故事板在FinishedLaunching

中没有代码

我认为这很容易解决 - 你可以添加一个覆盖到FinishedLaunching,它调用一个MvvmCross安装类来初始化IoC,插件,你的应用程序等。

2。 MvvmCross vNext要求您将构造函数覆盖为

之类的表单
public DetailViewController (MvxShowViewModelRequest request) {
}

而Storyboard需要使用以下表格:

public DetailViewController (IntPtr handle) {
}

克服这个问题更难......但好消息是它在v3中要容易得多 - v3的既定目标之一是以某种方式支持故事板 - 请参阅http://slodge.blogspot.co.uk/2013/02/mvvmcross-v3.html

3。概念冲突

如果您使用的是Storyboard,那么导航逻辑将与Storyboard和UIViewController绑定。

如果您使用的是MvvmCross,则导航逻辑与ViewModels绑定。

克服这一点相对简单 - 您可以轻松地混合和匹配概念 - 但您可能会发现您的ViewModel和Views感觉“有点奇怪”。


摘要

今天这样做是可能的,但需要几个小时的黑客攻击。

v3的测试版即将到期(几周之内 - 仅取决于我的业余时间)。一旦可用,我认为你可以更快地开始。