Пустое пространство на PrototypeCell - PullRequest
0 голосов
/ 08 октября 2018

У меня есть UITableView с 2-мя разделами, на первом показывается SegmentControl, а на втором - мои данные.Секция 2 в порядке, но в разделе SegControl компонент не помещается на нужную высоту.

StoryBoard

enter image description here

Результат: Пустое пространство появляется ниже UISegmentedControl ячейки.

enter image description here

Я пытался решить эту проблему многими способами:

   func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
    if indexPath.section == 1 {
        return 100
    }
    return 44.0
}

func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
    return 0.0
}

func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
    return UIView()
}

func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {

    if section == 0 {
        return nil
    }
    .
    .
    }

РЕДАКТИРОВАТЬ

Я обнаружил, что это пустое пространство является нижний колонтитул, но я не знаю, как это скрыть.

enter image description here

        func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
        let view = UIView(frame: CGRect(x: 0, y: 0, width: 0, height: 0))
        view.backgroundColor = UIColor.red
        return view
   }

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

Я обнаружил, что эта проблема является нижним колонтитулом секции, поэтому я делаю это:

func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
    if section == 0 {
        return 0
    }
    return UITableViewAutomaticDimension
}

и решаю мою проблему.

0 голосов
/ 09 октября 2018

ОБНОВЛЕНИЕ: это вид нижнего колонтитула раздела, который добавляет дополнительное пространство, а не саму ячейку.

Использование heightForFooterInSection.Следующий код должен решить вашу проблему.

func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
    if section == 0 {
      return 0
    }
    return UITableView.automaticDimension
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...