Как не показывать ячейку в табличном представлении, если она содержит конкретную строку? - PullRequest
1 голос
/ 03 сентября 2011

Я хочу, чтобы tableView не загружал ячейку, содержащую некоторую строку, как это сделать?

static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
        cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    }

NSString *itemTitle = item.title;

        if ([item.title isEqualToString: @"Some string"])
{
   // Help needed
}
        else
{
        cell.textLabel.font = [UIFont boldSystemFontOfSize:15];
        cell.textLabel.text =itemTitle;
}
    return cell;

1 Ответ

0 голосов
/ 03 сентября 2011
  1. Одним из возможных вариантов может быть сохранение indexPath ячейки, которую вы не хотите показывать на экране, когда таблица загружается, и после завершения загрузки удалите их из таблицы форм следующим способом.

- (void)deleteRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation

  1. Лучший вариант - обновить данные перед загрузкой таблицы.

  2. Если оба из вышеперечисленных не удаются, вы можете попробовать следующий метод - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

Возвращает 0, если вы не хотите, чтобы ячейка появлялась на экране. Возможно, ячейка с высотой 0 не появится.

Если вышеприведенное не сработает, напишите здесь, чтобы я мог помочь в дальнейшем ....

...