Как работает UITableViewCell.SeparatorStyle.none? - PullRequest
1 голос
/ 02 апреля 2019

Я понимаю, что предполагается "удалить" разделители, но это не совсем так:

  1. Если вы посмотрите на иерархию представления, вы увидите, что _UITableViewCellSeparatorView добавляется как подпредставление ячейки.,
  2. Свойство isHidden разделителя также false.
  3. alpha разделителя 1.0.
  4. Кадр разделителя находится в пределах ячейки, поэтому онне обрезается.

Как тогда "удаляются" разделители?

Ответы [ 2 ]

2 голосов
/ 02 апреля 2019

Когда стиль разделителя ячеек установлен на Нет, добавляется один _UITableViewCellSeparatorView, который имеет nil цвет фона.

the first _UITableViewCellSeparatorView in the cell's view hierarchy

the background property of the first _UITableViewCellSeparatorView

Если стиль разделителя установлен на Однострочный, вы увидите, что для каждой ячейки присутствует дополнительный вид разделителя, который имеет ненулевой фоновый цвет. Этот разделитель фактически представлен в виде линии.

the second _UITableViewCellSeparatorView in the cell's view hierarchy

the background property of the second _UITableViewCellSeparatorView

1 голос
/ 02 апреля 2019

Если я запускаю «Debug View Hierarchy» с включенными разделителями, я вижу два _UITableViewCellSeparatorView s в каждой ячейке.

Один имеет nil цвет фона, другой имеет цвет по умолчанию.

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

Таким образом, кажется, что когда разделители отключены, удаляется вид с цветом фона.

Не уверен, почему в иерархии есть дополнительный вид, возможно, один для эстетики и один для позиционирования содержимого ячейки.

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