После загрузки таблицы с пользовательскими ячейками все выглядит нормально и прокрутка вниз прекрасна. Когда я просматриваю вышеперечисленные ячейки, появляется пустое. Они на самом деле полностью функциональны, поскольку их все еще можно выбрать, а затем они отправляются на страницы подробностей. Код cellForRowAtIndexPath выполняется для возвращаемой строки и возвращает ячейку, как я ожидал бы с нужными деталями. Он просто не отображается. Любые мысли/помощь будут оценены.При прокрутке таблицы снова ячейки отображаются пустым?
Код, приведенный ниже, является тем, что я использовал.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CustomCellIdentifier = @"CustomCellIdentifier";
CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CustomCellIdentifier];
if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil];
for (id oneObject in nib) {
if ([oneObject isKindOfClass:[CustomCell class]]) {
cell = (CustomCell *)oneObject;
}
}
}
// Configure the cell.
Book *aBook = [appDelegate.sortedArray objectAtIndex:indexPath.row];
//name
NSString *trimmedString = [aBook.Name stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
cell.nameLabel.text = trimmedString;
//catagory
NSString *trimmedExperience = [aBook.PrimaryExperience stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
if ([trimmedExperience isEqualToString:@"1"]) {
cell.catagoryLabel.text = @"None";
}
else if([trimmedExperience isEqualToString:@"2"]){
cell.catagoryLabel.text = @"Limited";
}
else if ([trimmedExperience isEqualToString:@"4"]) {
cell.catagoryLabel.text = @"Full";
}
else {
cell.catagoryLabel.text = @"";
}
cell.distanceLabel.text = [NSString stringWithFormat:@"%1.1f",aBook.distance];
cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
return cell;
}
Как именно вы визуализируете ячейки? Вы используете интерфейс Builder или с нуля? – medopal
Ячейки отображаются из интерфейса Builder, и текст установлен в cellForRowAtIndexPath - странно, что они работают красиво, пока они не прокрутят верх. – Davida
Можете ли вы показать метод cellForRowAtIndexPath? – jrturton