Округление высоты ячейки таблицы в Swift - PullRequest
0 голосов
/ 30 июня 2018

Мне нужно вычислить высоту ячейки таблицы и округлить ее до делимого значения на 5. Например, когда размер ячейки равен 116, правильная высота должна быть 120.

Дело в том, что я использую адаптивный макет для вычисления высоты ячейки. Одним из подпредставлений UITableViewCell является вертикальная пунктирная линия, которая должна соединиться с ячейкой ниже. Пунктирная линия состоит из повторения 5 точек - тире (2 балла) и пробела (3 балла). Таким образом, высота линии должна быть округлена до значения, кратного 5 для правильного соединения с пунктирной линией ячейки, которая находится ниже.

Two cells with connected dashed line

1 Ответ

0 голосов
/ 02 сентября 2018

Предполагая, что вы хотите округлить только, если значение НЕ кратно 5, тогда что-то вроде этого полезно: Нам нужно специально округлить CGFloat (что измеряет UIViews):

let currentHeight = CGFloat(123.456)
let newHeight = ((currentHeight + 4.99) / 5).rounded(.down) * 5
=> 125

let currentHeight = CGFloat(125)
let newHeight = ((currentHeight + 4.99) / 5).rounded(.down) * 5
=> 125

Я бы установил высоту ячейки, кратную пяти, и высоту вида пунктирной линии на то же самое. (Я думаю, это то, что вы хотели, просто убедившись).

Не забывайте, что вам нужно установить высоту ячейки таблицы и высоту tableCell.contentView. Кроме того, вам нужно сообщить UITableView высоту ячейки для ее расположения.

...