Как временно скрыть или удалить UITableViewCell с его содержимым

У меня есть статика UITableView и хочу скрыть ячейку таблицы (именно я хочу скрыть указатель даты в ячейке). Я хочу сделать это в heightForRowAtIndexPath метод:

public override float GetHeightForRow (UITableView tableView, NSIndexPath indexPath)
{
    float height = this.TableView.RowHeight;

    if (indexPath.Row == 5 || indexPath.Row == 7) {
        height = 0.0f;
    }

    return height;
}

Когда я делаю это, содержимое ячейки перекрывается с другим содержимым. В моем случае средство выбора даты занимает весь экран. То же самое касается этикеток и так далее. Также кажется, что разделительная линия все еще там.

Как временно удалить или скрыть ячейку с ее содержимым?

Вы не должны предоставлять C# решение. Я переведу это сам. Кстати: я использую iOS 7.1

3 ответа

Решение

Отметьте "Клип подпредставлений" на свою ячейку в IB. не для "Просмотр содержимого" ячейки.

Чтобы архивировать это с помощью кода:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = [super tableView:tableView cellForRowAtIndexPath:indexPath];
    if(indexPath.row == 5 || indexPath.row == 7) {
        cell.clipsToBounds = YES;
    }
    return cell;
}

Я рекомендую вам обновить метод

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
     if (indexPath.Row == 5 || indexPath.Row == 7) {
        return 0.0f;
     }
    return 50; // some static value
}

Я надеюсь, что это решит вашу проблему.

Я бы попытался уменьшить numberOfRowsInSection: и рассмотреть это в cellForRowAtIndexPath:, но я не уверен на 100%, работает ли это.

Другие вопросы по тегам