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 に答える