使用mvvmcross,我如何“共享”一个视图模型来处理iphone和另一个ipad的视图?任何特殊的名称约定?

时间:2013-08-22 15:07:44

标签: xamarin.ios mvvmcross

我正在开发一个针对Android和iOS(iPhone和iPad)的跨平台应用程序。

我正在使用MvvmCross(感谢Stuart)和Xamarin。

我的疑问与iOS开发有关。应用程序目标设备设置为通用。

我创建了一个名为LoginViewModel的视图模型(在核心ViewModels目录中)和一个名为LoginView的视图(在UI的Views目录中),因此,它尊重mvvmcross命名约定,一切正常。

由于应用程序的主要用途是在iPad上使用,因此LoginView是一个iPad ViewModelController。

但是在未来,我将为iPad和iPhone构建xib。

为了测试这个,我创建了一组新的ViewModelController(更改为扩展MvxViewController)并将其命名为LoginViewModel~ipad(ipad视图控制器)和LoginViewModel~iphone(iphone视图控制器)。

Xamarin Studio没有让我用〜保存保存,并将文件集重命名为LoginViewModel_ipad和LoginViewModel_iphone(文件集:.xib,.cs和designer.cs)。

我使用xCode IB将一组随机控件添加到xib文件中并保存它们。

我在iPhone模拟器中启动了应用程序,但我的视图没有显示,只有空屏幕(或几乎为空)。

empty screen screen shot

可以在iPhone和iPad视图之间共享相同的viewmodel吗? 如果是,这些案件的名称惯例是什么? 你能带我走向正确的方向吗?

感谢所有回复,

Luis Pinho

1 个答案:

答案 0 :(得分:0)

Stuart涵盖了N + 1系列here中的通用应用。这可能有所帮助。