изменить размер ячейки в UITableView в Swift 5 - PullRequest
0 голосов
/ 01 апреля 2020

Я использую табличное представление для отображения списка мест. По какой-то причине ячейки не растягиваются полностью до каждой стороны представления (даже если это табличное представление само по себе). Когда я запускаю эмулятор на iPhone 11 Pro, ячейки растягиваются, но разделитель начинается на расстоянии 10p от края и заканчивается прямо на другом крае. Где, как в iPhone 11 Pro max, он начинается в том же месте, но заканчивается примерно на 20p раньше края. Как я могу контролировать это, чтобы оно было одинаковым для всех экранов? (Я хочу, чтобы он начинался на 10p и заканчивался на 10p раньше) Добавлены картинки:

iPhone 11 Pro

Это ячейки на iPhone 11 Pro, а Вы можете видеть, что разделительная линия проходит до самого конца iPhone 11 Pro Max

Это ячейки на iPhone 11 Pro Max, поскольку вы можете видеть, что линия заканчивается на расстоянии 20p от края. Кроме того, сама ячейка меньше по сравнению с размером экрана

Я хочу, чтобы она была где-то посередине, ячейка располагалась по всему экрану, а разделительная линия начиналась на расстоянии 10p и заканчивалась на 10p равномерно , Просто чтобы быть ясным, я использую раскадровки, и само представление таблицы имеет ограничения, равные трейлингу и лидерству суперпредставления.

Большое спасибо!

1 Ответ

0 голосов
/ 01 апреля 2020

Я бы рекомендовал создать специальную ячейку для разделителей. Таким образом, вы сможете контролировать высоту цвета и многое другое! Использование enum очень полезно в этом случае, и вы можете просто добавить модель разделителя между каждой из ваших реальных моделей ячеек ...

var data: [CellEnumModel]
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
   let model = data[indexPath.row]
   switch model {
     case .data(let data):
       let cell = tableView.dequeueReusableCell(withIdentifier: String(describing: MessageCell.self)
       ...
     case .sep(let color):
       let cell = tableView.dequeueReusableCell(withIdentifier: String(describing: SepCell.self)
       ...
}

А в UITableViewDelegate, например, вы можете сделать То же самое и контролировать высоту ...

Надеюсь, это поможет (:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...