0

Monotouch.Dialog UITableView に一連の StyledStringElements があります。

1 行おきに異なる背景色 (財務レポート) を設定したいと考えています。

これを行う既存の方法はありますか?そうでない場合、これを有効にするために何をオーバーライドできますか?

標準の UITableView では、次のようにテーブルの新しいデリゲートを作成します。

public class AlternatingTableViewDelegate : UITableViewDelegate
{
    public override void WillDisplay(UITableView tableView, UITableViewCell cell, NSIndexPath indexPath)
    {
        if (indexPath.Row%2 == 0)
        {
            cell.BackgroundColor = UIColor.White;
        }
        else
        {
            cell.BackgroundColor = Settings.ColorAlternatingRow;
        }
    }
}
4

1 に答える 1

0

DialogViewControllerをサブクラス化するBaseDialogViewControllerクラスに以下のヘルパーを追加することでこれを解決しました

    internal int RowCount = 0;

    protected StyledStringElement Alternate(StyledStringElement element)
    {
        if (++RowCount % 2 == 0) element.BackgroundColor = Settings.ColorAlternatingRow;
        return element;
    }

次に、要素を作成した後のコードで、それをこの関数に渡してスタイルアップします。

于 2013-06-24T17:17:43.463 に答える