Можете ли вы изменить ширину разделителя для разных ячеек таблицы? - PullRequest
0 голосов
/ 10 марта 2020

Я заранее прошу прощения, если вопрос был задан ранее, или ответ очевиден - я просто не могу найти хороший ответ на этот вопрос.

Возможно ли иметь разную ширину разделителя для разных ячейки в виде таблицы? Я хочу, чтобы первые несколько ячеек имели короткую ширину разделителя, а последняя ячейка должна иметь как верхний, так и нижний разделители go от края до края.

Пример изображения:

enter image description here

Я могу подделать желаемый вид, установив стиль разделителя на «none» в раскадровке, а затем добавить светло-серый UIView в каждую ячейку, чтобы он был разделителем (внутри метода cellForRow). Однако я хотел бы избежать этого, если это возможно.

Есть ли лучший способ изменить ширину разделителя для разных ячеек? Примечание: я использую Swift

1 Ответ

2 голосов
/ 10 марта 2020

Вы можете изменить размеры разделителя, используя cell.separatorInset.

Например, этот dr aws более короткий разделитель для первых трех ячеек:

override func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
    if indexPath.row < 3 {
        cell.separatorInset = UIEdgeInsetsMake(0, 30, 0, 11) // shorter separator
    else {
        cell.separatorInset = UIEdgeInsetsMake(0, 3, 0, 11) // longer separator
    }
}

Из документов willDisplayCell:

Представление таблицы отправляет это сообщение своему делегату непосредственно перед тем, как он использует ячейку для рисования строки, что позволяет делегату настроить объект ячейки перед его отображением. Этот метод дает делегату возможность переопределять основанные на состоянии свойства, установленные ранее табличным представлением, такие как выделение и цвет фона. После возврата делегата табличное представление устанавливает только свойства альфа-канала и фрейма, а затем только при анимации строк по мере их скольжения внутрь или наружу.

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