0

我正在尝试使用 monotouch.dialog 为我的表格完成一个自定义单元格,并且除了我的单元格的详细文本标签颜色之外,几乎所有内容都已整理好。

我正在重写 GetCell 来自定义我的 EntryElement 单元格,如下所示:

public class CustomStyledEntryElementPlain : MonoTouch.Dialog.EntryElement
{
    public CustomStyledEntryElementPlain (string _caption, string _value) : base(string.Empty,string.Empty,string.Empty,false)
    {
        KeyboardType = UIKeyboardType.Default;
        Value = _value;
        ReturnKeyType = UIReturnKeyType.Done;
        Caption = _caption;
    }

    public override UITableViewCell GetCell(UITableView tableView) {
        var cell = base.GetCell(tableView);
        cell.BackgroundColor = Resources.XDarkGrayColor;
        cell.TextLabel.TextColor = Resources.XWhiteColor;
        cell.BackgroundView = new UIView (RectangleF.Empty);
        cell.DetailTextLabel.TextColor = UIColor.White; //this line causes the error

        return cell;
    }
}

然后我像这样创建元素:

new CustomSection ("Testing"){
                new CustomStyledEntryElementPlain("Test","Test1"),
                new CustomStyledEntryElementPlain("Test","Test2")
            },

但是,在显示表格时,我收到错误:“System.NullReferenceException 已被抛出对象引用未设置为对象的实例”

当我最初制作这个原型时,我可以发誓我让 DetailTextLabel 文本颜色正常工作!注释掉课程的更改会导致我的表格和单元格显示得很好,尽管带有黑色文本(我想将其更改为白色!)

有没有人知道我为什么会得到这个?

4

1 回答 1

0

中的DetailTextLabel属性UITableViewCell仅在 Cell 具有UITableViewCellStyle支持它的情况下才可用。从属性UITableViewCell的文档:DetailTextLabel

如果单元格是使用支持详细标签的 MonoTouch.UIKit.UITableViewCellStyle 创建的,则 UITableViewCell 会自动创建辅助(详细)标签。

如果单元格的样式不支持详细标签,则此属性返回 null。

查看文档UITableViewCellStyle以了解哪些样式支持此属性。

于 2013-04-01T19:06:16.290 回答