我正在尝试使用 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 文本颜色正常工作!注释掉课程的更改会导致我的表格和单元格显示得很好,尽管带有黑色文本(我想将其更改为白色!)
有没有人知道我为什么会得到这个?