Я разрабатываю приложение iOS, которое показывает сеансы в UITableView. В настоящее время я занимаюсь разработкой пользовательского tableviewcell для представления моих данных.tableView добавляет дополнительную (пустую) ячейку
Основываясь на типе события, я меняю цвет фона на маленьком баре в таблице tableviewcell (синий или оранжевый). По какой-то причине раскраска выключена, и в tableview добавлена еще одна ячейка, которую не следует добавлять. См. Изображение ниже.
Обратите внимание на первую клетку .. она имеет типа: «ISKE» так должен быть оранжевым, это правильно. Обратите внимание на вторую ячейку, имеющую тип: «ISKA». Теперь панель справа должна иметь синий цвет, чего явно нет. Странно, потому что цвет шрифта даты соответствует правильному цвету. Также обратите внимание на отображение последней полосы, пока нет дополнительной ячейки.
У меня нет подсказки, почему это происходит. Надеюсь, кто-то может указать мне в правильном направлении. Моего метод прибудет клетку, как следует:
public override UITableViewCell GetCell (UITableView tableView, MonoTouch.Foundation.NSIndexPath indexPath)
{
Session session = ObjectModel.Current.AllSessions.ElementAt (indexPath.Row);
SessionTableViewCell cell = tableView.DequeueReusableCell (session.SessionEvent.EventTitle) as SessionTableViewCell;
if (cell == null)
{
cell = new SessionTableViewCell();
var views = NSBundle.MainBundle.LoadNib ("SessionTableViewCell", cell, null);
cell = Runtime.GetNSObject (views.ValueAt (0)) as SessionTableViewCell;
}
if (session.SessionEvent.EventTitle == "ISKE") {
cell.SessionEventColor = UIColor.FromRGB (255, 165, 0);
cell.SessionDateFontColor = UIColor.FromRGB (255, 165, 0);
} else {
cell.SessionEventColor = UIColor.FromRGB (80, 124, 191);
cell.SessionDateFontColor = UIColor.FromRGB (80, 124, 191);
}
cell.SessionDay = session.SessionDate.DayOfWeek.ToString().ToUpper();
cell.SessionTime = session.SessionDate.ToString ("HH:mm");
cell.SessionDate = session.SessionDate.Day.ToString().ToUpper();
cell.SessionSpeaker = "testspeaker";
cell.ImgBgView.Layer.BorderColor = UIColor.FromRGB (206, 206, 208).CGColor;
cell.ImgBgView.Layer.BorderWidth = 1.0f;
cell.SelectionStyle = UITableViewCellSelectionStyle.None;
cell.SessionTitle = session.SessionTitle;
cell.SessionEvent = session.SessionEvent.EventTitle;
cell.SessionRoom = session.SessionRoom;
return cell;
}
Лучше Вы упоминаете его в качестве комментария. Он не определяет ответ ... –
Высота ячейки - 84 пикселя, что аналогично моему GetHeightForRow. Высота моего стола - 416 пикселей (полный экран). Не знаете, почему это имеет значение? – Mittchel
Я нашел проблему. Я думал, что я работаю с сетчатыми пикселями. Таким образом, граница thingy была вдвое больше размера ячейки таблицы, которая заставляла ее визуализировать двойную, я думаю. Prasad_R указал мне в правильном направлении. – Mittchel