Мой текущий проект UITableViewCell меня озадачивает. У меня довольно простой подкласс UITableViewCell. Он добавляет несколько дополнительных элементов в базовый вид (через [self.contentView addSubview:...]
и устанавливает цвета фона для элементов, чтобы они выглядели как черные и серые прямоугольные прямоугольники.
Поскольку фон всей таблицы имеет это конкретное изображение текстуры, каждый фон ячейки должен быть прозрачным, даже если он выбран, но в этом случае он должен немного темнее. Я установил пользовательский полупрозрачный выбранный фон для достижения этого эффекта:
UIView *background = [[[UIView alloc] initWithFrame:self.bounds] autorelease];
background.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.6];
background.opaque = NO;
[self setSelectedBackgroundView:background];
И хотя это дает правильный взгляд на фон, странный побочный эффект возникает, когда я выбираю ячейку; все остальные фоны как-то отключаются. Вот скриншот. Нижняя ячейка выглядит так, как должна и не выбрана. Выбирается верхняя ячейка, но она должна отображать черные и серые прямоугольные области, но они ушли!
Кто знает, что здесь происходит и что еще важнее: как я могу это исправить?