在Xamarin iOS中以编程方式设置UITableViewCell样式

时间:2014-09-18 13:00:32

标签: c# ios uitableview xamarin.ios xamarin

我知道您可以在iOS Designer中设置样式,但是如何在代码中设置样式?

通常您使用此功能请求单元格

var cell = tableView.DequeueReusableCell (cellIdentifier);

我看到Objective-C解决方案创建了一个新的细胞。在新范例之后,如果您使用RegisterClassForCellReuse,则无需创建新单元格。

这是在代码中设置样式的唯一方法吗?

if (cell == null) {
    cell = new UITableViewCell (UITableViewCellStyle.Subtitle, cellIdentifier);
}

1 个答案:

答案 0 :(得分:3)

来自Xamarin forum

  

如果你使用RegisterClassForCellReuse,我认为你必须使用一个子类UITableViewCell的自定义单元格。否则,它会创建一个样式为Default的标准单元格。

以下工作方法是在ViewDidLoad注册课程:

TableView.RegisterClassForCellReuse(typeof(SubtitleTableViewCell), new NSString("SessionCell"));

并继承UITableViewCell[Export]属性是必需的:

public class SubtitleTableViewCell : UITableViewCell
{
    [Export("initWithStyle:reuseIdentifier:")]
    public SubtitleTableViewCell(UITableViewCellStyle style, string cellId)
        : base( UITableViewCellStyle.Subtitle, cellId) { }
}