如何覆盖从MvxBindableTableViewCell继承的无xib单元格的单元格样式

时间:2013-07-19 21:04:15

标签: uitableview xamarin.ios mvvmcross

我正在尝试从MvxBindableTableViewCell继承来重新定义我自己的单元格(包含更多文本字段和图像)。 当从MyCustomSource.GetOrCreateCell创建新实例时,使用的ctor始终是MyCustomCell(IntPtr句柄)。在这种情况下,使用的单元格样式是Default,但我想使用Value1样式(重用右对齐的蓝色文本)。

在传统的iOS应用程序中,解决方案是从我的ctor使用“initWithStyle:reuseIdentifier:”base ctor。 对于MonoTouch / MvvmCross项目,正确的solutino可能会在XCode设计器中完成。但是我正在使用VS(不能使用我的XS解决方案)而且我只想使用无xib的UI来跟踪源代码控制中对它们的更改。

关于如何实现目标的任何想法?

纪尧姆。

1 个答案:

答案 0 :(得分:0)

就个人而言,我并不倾向于非常使用标准细胞类型。相反,我倾向于使用XIB或基于手动代码的布局构建我自己的自定义单元格。

但是,如果您想在Mvx中使用,则可以轻松使用标准单元格类型。

在第3版中,您可以选择使用MvxStandardTableViewCell构造函数,该构造函数将UITableViewCellStyle作为参数 - 例如见https://github.com/slodge/MvvmCross/blob/v3/Cirrious/Cirrious.MvvmCross.Binding.Touch/Views/MvxStandardTableViewCell.cs#L40

这也暴露给MvxStandardTableViewSource https://github.com/slodge/MvvmCross/blob/v3/Cirrious/Cirrious.MvvmCross.Binding.Touch/Views/MvxStandardTableViewSource.cs#L60

的构造函数

去年在vNext中,我认为通过旧MvxSimpleBindableTableViewSource公开了相同的功能 - 请参阅https://github.com/slodge/MvvmCross/blob/vnext/Cirrious/Cirrious.MvvmCross.Binding.Touch/Views/MvxSimpleBindableTableViewSource.cs#L62