UITableView ContentInset и ContentOffset - PullRequest
       50

UITableView ContentInset и ContentOffset

0 голосов
/ 17 января 2019

У меня проблемы со свойством contentInset. У меня есть UITableView, с динамическими размерами ячеек (AutoLayout). Я устанавливаю свойство contentInset, чтобы оставить некоторое пространство над верхней частью содержимого. Но я получаю следующий результат:

Unexpected Result

Содержимое выделено синим цветом, содержимое вставлено фиолетовым. Когда табличное представление появляется впервые, оно находится в левом положении. Я могу прокрутить, чтобы перейти к правильной ситуации, которая работает, но я бы хотел, чтобы табличное представление отображалось прямо, как на правильной иллюстрации, - я думал, что это будет поведение по умолчанию.

Как мне этого добиться?

Ответы [ 4 ]

0 голосов
/ 17 января 2019

вы можете прокручивать программно при загрузке представления.

tableView.setContentOffset(CGPoint(x: 0, y: -70), animated: false)
0 голосов
/ 17 января 2019

Вы предоставляете объект UIEdgeInset,

UIEdgeInsets(top: 50, left: 0, bottom: 0, right: 0)

Свойство top показывает расстояние от верхней части контента до верхней границы области.

0 голосов
/ 17 января 2019

Не уверен, что это лучший способ, но я исправил это, добавив:

tableView.contentOffset.y = -70

после строки:

tableView.contentInset = UIEdgeInsets(top: 70, left: 0, bottom: 50, right: 0)
0 голосов
/ 17 января 2019

Вот как это можно легко исправить с раскадровки:

Просмотр таблицы> Инспектор размеров> Вкладки содержимого: Никогда

...