Как я могу установить UITableViewCell backgroundColor в разделе, не повторяя? - PullRequest
1 голос
/ 27 апреля 2019

У меня есть UITableView, и я уже установил его ячейку backgroundColor следующим образом.

cell.backgroundColor = indexPath.row % 2 == 0 ?
            UIColor.Cell.oddBackgroundColor : UIColor.Cell.evenBackgroundColor

Но когда я настраиваю tableView с разделами, ячейки в разделе снова устанавливают свой цвет фона, как указано выше.

Например:

  • Цвета фона ячейки без сечения :
    • Черный
    • Серый
    • Черный
    • ...
  • Цвета фона ячейки с сечением :
    • Сечение 0
      • Черный
      • Серый
      • Черный
    • Секция 1
      • Черный
      • Серый
      • Черный

Как видно, последняя ячейка в разделе 0 и первая ячейка в разделе 1 имеют одинаковый цвет фона.Он должен отличаться, а для секции 1 должны быть разные порядки для цветов фона ячейки.

Например:

Цвета фона ячейки с секцией :

  • Секция0
    • Черный
    • Серый
    • Черный
  • Секция 1
    • Серый
    • Черный
    • Серый

Как мне сделать, как в примере выше?

1 Ответ

1 голос
/ 27 апреля 2019
//var row = indexPath.row
//for i in 0..<indexPath.section {
//    row += tableView.numberOfRows(inSection: i)
//}
let row = (0..<indexPath.section).reduce(indexPath.row) { $0 + tableView.numberOfRows(inSection: $1) }
cell.backgroundColor = row % 2 == 0 ? UIColor.gray : UIColor.white

enter image description here

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