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;
}