0

MonoTouch.DialogRootElement似乎没有添加字幕的方法。我想在标题下方显示一个副标题。

我是否必须对元素进行子类化并在 GetCell 方法中添加自定义视图?

有没有更简单的选择?

4

1 回答 1

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;
    }
于 2012-08-22T01:15:25.667 回答