я следовал этой torturial:Пользовательские сотовый взгляд в UITableView
http://www.raywenderlich.com/32283/core-graphics-tutorial-lines-rectangles-and-gradients
Он охватывает настройку динамических ячеек таблицы, я должен сделать это со статическими ячейками таблицы.
Я дал каждую клетку идентификатора «Cell», как он это делает в учебнике, я тогда подклассы контроллера представления таблицы и реализован следующим образом:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString * CellIdentifier = @"Cell";
UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
// START NEW
if (![cell.backgroundView isKindOfClass:[CostumCellBackground class]]) {
cell.backgroundView = [[CostumCellBackground alloc] init];
}
if (![cell.selectedBackgroundView isKindOfClass:[CostumCellBackground class]]) {
cell.selectedBackgroundView = [[CostumCellBackground alloc] init];
}
// END NEW
cell.textLabel.backgroundColor = [UIColor clearColor]; // NEW
return cell;
}
CostumCellBackground рисует прямоугольник.
Я получаю ошибку «UITableView DataSource должен возвращать ячейку из Tableview: cellForRowAtIndexPath:.
Насколько я понимаю UITableView зацикливается для каждой ячейки в раскадровке, и он должен вернуть клетку
Итак, что происходит здесь и почему возвращение ячейки ноль, или оленья кожа возвращение вообще?
Единственное отличие состоит в том, что они являются статические таблицы, а не прототипы.
, потому что ячейка равна нулю. вы должны проверить, если (cell == nil) { // напишите свой код на c reate cell } –