0

Я пытаюсь закончить пользовательскую ячейку для своих таблиц с помощью monotouch.dialog и почти все отсортировано, за исключением цвета ярлыка текста моей ячейки.MonoTouch - изменение DetailTextLabel цвет текста вызывает ошибку NullReferenceException

Я перекрывая 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 Ссылка на объект не установлена ​​в экземпляр объекта»

Я мог бы поклясться, когда я изначально прототипировал это, чтобы у меня был DetailT Цвет текста extLabel работает! Комментируя изменение результатов курса в моей таблице и ячейке, отображаются только хорошо, хотя и с черным текстом (который я хочу изменить на белый!)

У кого-нибудь есть представление о том, почему я получаю это?

ответ

0

Объект DetailTextLabel в UITableViewCell доступен только в том случае, если у Cell есть UITableViewCellStyle, который его поддерживает. Из UITableViewCell документации по DetailTextLabel property:

UITableViewCell automatically creates the secondary (detail) label if the cell is created with a MonoTouch.UIKit.UITableViewCellStyle that supports a detail label.

If the cell's style doesn't support a detail label, this property returns null.

Проверьте документацию для UITableViewCellStyle, чтобы выяснить, какие стили поддерживает это свойство.

+0

Спасибо NilsH. Должно быть, я использовал другой стиль ячейки, когда работал, и за всю жизнь меня не помню, какое изменение я сделал, чтобы он не работал. В документации четко описываются разные стили, как вы указываете! – Shogan