0

我在 Monotouch.Dialog UITableView 中有一系列 StyledStringElements。

我希望每隔一行设置不同的背景颜色(财务报告)。

有没有现有的方法可以做到这一点,如果没有,我可以覆盖什么来启用它?

在标准的 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

我通过将以下帮助程序添加到我的BaseDialogViewController类中解决了这个问题,该类是DialogViewController的子类

    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 回答