По умолчанию UITableView устанавливает цвет фона метки на цвет фона табличного представления.Это, по-видимому, для оптимизации (это позволяет метке быть «непрозрачной», поэтому при компоновке не требуется альфа-смешение). =
Существует два основных решения этой проблемы:
- В вашем UITableViewDelegate реализуйте -tableView: willDisplayCell: forRowAtIndexPath: и установите backgroundColor = nil и opaque = NO.(Насколько я знаю,
nil
обычно эквивалентно [UIColor clearColor]
.) - Переопределение
-[UITableViewCell setSelected:animated]
и backgroundColor
и opaque
, как указано выше.Это работает, потому что setSelected: animated: вызывается перед первым отображением ячейки, но немного более странно (это называется много).