【发布时间】:2015-01-05 08:24:19
【问题描述】:
我正在尝试了解故事板在 iOS 开发中的工作原理以及 MVVMCross 如何融入其中。我认为最好的解决方案是构建 MVVMCRoss TipCalc 教程的 iOS 版本
我正在使用 Storyboard,因为您无法在 Visual Studio 中编辑 XIB。我目前的想法是每个屏幕一个故事板。
我让它工作了,但感觉我这样做是靠运气而不是判断力。因此,我想检查一下我的理解。
在 TipCalc.UI.Touch 我有
- TipViewController.cs
- TipViewController.storyboard
按照SO answer. 中的建议,我添加了一个自定义 Mvx 视图容器。在该容器的 CreateViewOfType 方法中,我调用 Storyboard.InstantiateViewController 并将其转换为 IMvxTouchView。
控制器怎么也可以是视图?
我计划为每个故事板设置一个“视图”。
如果故事板中有多个视图,每个视图都有一个控制器吗?
当我在情节提要设计器中打开“视图”的“属性”窗口时,它在“身份”部分中有一个名称和一个类。 Class 属性的用途是什么?这会创建一个代码隐藏文件吗?
我正在控制器的 ViewDidLoad 方法中创建 View-to-ViewModel 绑定
public override void ViewDidLoad()
{
base.ViewDidLoad();
this.CreateBinding(this.tipValueText).To<TipViewModel>(vm => vm.Tip).Apply();
this.CreateBinding(this.subTotalTextBox).To<TipViewModel>(vm => vm.SubTotal).Apply();
this.CreateBinding(this.generositySlider).To<TipViewModel>(vm => vm.Generosity).Apply();
}
这些绑定有效,但我只是想再次检查其他人是否也是这样做的。
【问题讨论】:
标签: xamarin.ios xamarin mvvmcross