MonoTouch.Dialog RootElement
似乎无法添加字幕。我想在标题下面显示一个副标题。
我是否必须对元素进行子类化并在GetCell方法中添加自定义视图?
是否有更简单的选择?
答案 0 :(得分:2)
实现此目的的最简单方法是继承RootElement并重写GetCell方法,创建一个新单元格并设置LabelText和DetailLabelText。这会给你一个很好的副标题
public override MonoTouch.UIKit.UITableViewCell GetCell(MonoTouch.UIKit.UITableView tv) {
var baseCell = base.GetCell(tv);
var cell = new UITableViewCell(UITableViewCellStyle.Subtitle, "cellId");
cell.TextLabel.Text = Caption;
cell.DetailTextLabel.Text = _subtitle;
cell.Accessory = baseCell.Accessory;
return cell;
}
注意单元格样式。不幸的是,看起来细胞样式仅在细胞构建期间可用,而不是之后。所以你不能只调用base.GetCell(tv)并设置它的风格。那将是一个更好的选择。
_subTitle是通过自定义构造函数
设置的类级变量private string _subtitle = string.Empty;
public ChartSectionRootElement(string caption, string subTitle) : base(caption) {
this._subtitle = subTitle;
}