UITableView separatorStyle = нет против separatorColor = .clear - PullRequest
0 голосов
/ 05 октября 2018

Вчера я взглянул на довольно большой проект от кого-то другого и заметил, что везде, где не было намерения создать разделитель с помощью UITableView, это делается установкой tableView.separatorColor = .clear вместо tableView.separatorStyle = .none.

Теперь мне стало интересно, может ли быть причина для этого .. Результат отличается или же изменение свойства стиля нарушает ограничения, потому что отсутствует 0.5p?

1 Ответ

0 голосов
/ 05 октября 2018

Да, вы думаете в правильном направлении.

tableView.separatorColor = .clear // Он очищает цвет фона разделителя

tableView.separatorStyle = .none // Он удаляет разделитель из суперпредставления (UITableCell)

Case Study:

Учтите, что высота UITableViewCell установлена ​​на 50.

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
    return 50
}

Если в UITableViewCell есть UILabel, и вы указали , конечное, верхнее и нижнее ограничение , тогда tableView.separatorStyle = .none не приведет к разрыву ограничения, так как высота UILabel будет автоматически увеличена.

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

Это не обязательно происходит каждый раз, но для предотвращения этого условия,мы должны использовать tableView.separatorColor = .clear.

...