MonoTouch.DialogRootElement
似乎没有添加字幕的方法。我想在标题下方显示一个副标题。
我是否必须对元素进行子类化并在 GetCell 方法中添加自定义视图?
有没有更简单的选择?
MonoTouch.DialogRootElement
似乎没有添加字幕的方法。我想在标题下方显示一个副标题。
我是否必须对元素进行子类化并在 GetCell 方法中添加自定义视图?
有没有更简单的选择?
实现这一点的最简单方法是继承 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;
}