The solution put forward by TechGirl is actually pretty simple.
Here it is working with MvvmCross. For straight iOS, inherit from UITableViewCell instead of MvxTableViewCell.
You could use any controls rather than labels.
It still needs more work (Selecting a row hides the text) - But I'm posting it up before I forget.
public class ViewCell : MvxTableViewCell
{
UILabel label1;
UILabel label2;
public ViewCell(IntPtr handle) : base(handle)
{
label1 = new UILabel(new RectangleF(10, 50, 150, 40));
label1.Text = "Label 1";
this.Add(label1);
label2 = new UILabel(new RectangleF(150, 50, 440, 40));
label2.Text = "Label 2";
this.Add(label2);
this.DelayBind(() =>
{
var set = this.CreateBindingSet<ViewCell, SomeType>();
set.Bind(label1).To(te => SomeType.ID);
set.Bind(label2).To(te => Sometype.Name);
set.Apply();
});
}
public override void LayoutSubviews()
{
base.LayoutSubviews();
}
}