Автоматическая высота ячейки на UITableView без перекрытия нижней части iPhone X - PullRequest
0 голосов
/ 22 ноября 2018

Итак, моя цель - достичь автоматической высоты для моего вида таблицы.Под этим я подразумеваю то, что всякий раз, когда я добавляю новый элемент в табличное представление, таблица все еще находится на «полном экране», в то время как ячейка уменьшает свою высоту.

Например, вот что я сделал:

на iPhone 6s Simulator

на iPhone 5s Simulator

и я добился этого с помощью кода:

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    let itemCount:CGFloat = CGFloat(items.count)
    let statusHeight = UIApplication.shared.statusBarFrame.height
    let navHeight = self.navigationController!.navigationBar.frame.height-statusHeight
    let viewHeight = view.bounds.height
    let cellHeight = (viewHeight-navHeight)/itemCount
    return cellHeight
}

но проблема в том, что в iPhone X он делал что-то вроде:

на iPhone X Simulator

нижняя часть нижнего элемента обрезается/ перекрывается.Как это исправить?

Спасибо.

Редактировать:

Спасибо за ответ Трупеш Вагасия и Панкадж IЯ выполнил ваше решение, но не смог его найти, но это то, что я сделал {1032 * Снимок экрана }

Но результат был такой { Снимок экрана iPhone X }.Вы не думаете, что это нарушает правила iPhone X UI?

Ответы [ 3 ]

0 голосов
/ 22 ноября 2018

Вам нужно изменить TableView Нижнее ограничение Первый элемент Safe Area, чтобы дать SupperView.

enter image description here

Дайте нам знать ... работает?

0 голосов
/ 23 ноября 2018

Выберите constraint, который вы хотите изменить, и Double Click там.

enter image description here

А затем выберите First Item, а затем выберите Superview

enter image description here

0 голосов
/ 22 ноября 2018

Просто измените ограничение интерфейса, относящееся к superView, вместо безопасной области.Проверьте верхний и нижний ограничения таблицы и сделайте их связанными с superView.но, как говорится в сообщении Apple, было бы хорошо, если бы вы связали это с безопасным районом, поскольку iPhone X и более поздняя версия имеют на экране кнопку «Домой».Вы можете проверить скриншоты ниже. Выберите нижнее ограничение

enter image description here

...