Всякий раз, когда я добавляю accessoryView к своему UITableViewCell, он не передает цвет фона? Я устанавливаю UISwitch в качестве моего accessoryView, а цвет, который я установил в свойстве cell.backgroundColor, влияет только на contentView, а не accessoryView. Я перепробовал все, чтобы установить для них одинаковое значение. Я попытался установить свойства cell.backgroundView.backgroundColor и cell.accessoryView.backgroundColor на нужный мне цвет, но ничего не работает. Я также попытался создать подпредставление внутри contentView, что решило проблему backgroundColor (избегая ее), но это создает проблему, когда переключатель располагается поверх cell.textLabel, когда текст слишком длинный.
Как я могу изменить цвет фона accessoryView без создания подпредставления в contentView или изменить длину cell.textLabel без создания подкласса UITableViewCell?
Прочитав документацию (новая идея), я нашел статью « Более пристальный взгляд на ячейки табличного представления ». Это помогло мне понять состав ячеек, и я нашел свой ответ ...
ячейки выглядят так ...
Поскольку cell.accessoryView является сестринским представлением для cell.contentView, мне пришлось спросить ячейку .contentView для своего супервизора, а затем я смог изменить цвет фона для обоих представлений одновременно. Вот как выглядит код ...
// Cell Formatting
cell.contentView.superview.backgroundColor = [UIColor greenColor];
Я знаю, что это действительно просто, но я новичок, и мне потребовалось время, чтобы замедлиться и прочитать документ. Надеюсь, это поможет другим людям!