Пространство между разделами в UITableview

Мне нужно уменьшить пространство между двумя разделами UITableView . Я посмотрел на этот вопрос, но это решение не учитывает мое собственное представление заголовка, потому что оно объединяет пространство нижнего колонтитула и заголовка.

Вот изображение UITableView . Черный цвет – это цвет фона UITableView .

Снимок экрана tableview

Вы пытались переопределить эту функцию:

  override func tableView(tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat { return 0.00001 } 

Я думаю, вы можете решить это, отрегулировав высоту представления нижнего колонтитула до минимального значения: в раскадровке или XIB. введите описание изображения здесь

Я не знаю, что вы написали в своем коде для высоты нижнего колонтитула. Извините, если я ошибаюсь.

Возможный дубликат окна « Скрыть нижний колонтитул» в UITableView

Вам нужно использовать метод heightForHeaderInSection для определения пространства между заголовком и текстом ячейки. Вы также можете изменить его в зависимости от разных разделов, например. в некоторых разделах вам может потребоваться показать больше расстояния и под некоторыми, вы не хотите показывать пробел. В таком случае вы можете использовать CGFLOAT_MIN, который равен 0,000001f. Приведя пример, как вы можете использовать другой раздел с разными высотами заголовков

 - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { if (section == 0 || section == 2) { return 55.0; } else { return CGFLOAT_MIN; } } 

Надеюсь, это поможет вам.

Для Swift 3

 override func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat { return CGFloat.leastNormalMagnitude } 

Вы можете сделать это, heightForHeaderInSection делегат heightForHeaderInSection и heightForFooterInSection .

Возвращаемая vaule не должна быть 0, даже если SectionHeader или высота SectionFooter равны 0, ему нужно очень маленькое значение, попробуйте CGFLOAT_MIN .

для моего примера:

 - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ if (section == [self.dataArray indexOfObject:self.bannerList]) { return 46; } return CGFLOAT_MIN; 

}

 - (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section { return CGFLOAT_MIN; } 

Это также может помочь:

 override func viewDidLoad() { super.viewDidLoad() tableView.sectionHeaderHeight = UITableViewAutomaticDimension } 
  • Серая область ниже сгруппирована UITableView
  • как контролировать скорость прокрутки таблицы?
  • Действие UIButton в ячейке таблицы
  • Как остановить uitextview от покрытия uitableviewcell?
  • Как показать пользовательский UIMenuItem для UITableViewCell?
  • Исключение ячейки UITableview - «Необходимо перевести авторезистирующую маску в ограничения, чтобы иметь _setHostsLayoutEngine: ДА
  • Исключение исключения UITableViewCell
  • Результат поиска UISearchDisplayController имеет другую структуру и поведение ячейки, чем таблица поиска
  • UISearchController - панель поиска должна быть видимой всегда
  • исключить плохой код доступа 2
  • Каков наилучший способ обеспечения перезагрузки UITableView?
  • Давайте будем гением компьютера.