MvvmCross 正式支持 iOS 6.0 及更高版本 - 目前占所有 iOS 设备的 90% 以上 - http://stats.unity3d.com/mobile/index-ios.html
然而,大多数 MvvmCross 在 iOS5 上都可以工作——这使我们达到了所有 iOS 设备的 98.5%。
如果您想获得在 iOS4 和更早版本上工作的支持,那么您将需要避免一些领域 - 包括registerNib:forCellReuseIdentifier
(我猜!)在 iOS4 之后引入的这个。
为了使这项工作,您需要编写自己的与 iOS4 兼容的 TableViewSource 代码,它将直接创建新单元格,而不是依赖此registerNib
api。
为此,您可以使用自己的自定义TableViewSource
继承MvxTableViewSource
- 例如:
public class MyTableViewSource : MvxTableViewSource
{
public MyTableViewSource(UITableView tableView)
: base(tableView)
{
}
protected override UITableViewCell GetOrCreateCellFor(UITableView tableView, NSIndexPath indexPath, object item)
{
var existing = (UITableViewCell)tableView.DequeueReusableCell(KittenCell.CellIdentifier);
if (existing != null)
return existing;
return KittenCell.Create();
}
}