Платформы такой как
может помочь Вам гладко решить эту проблему наследования. например, http://www.java-tips.org/java-ee-tips/enterprise-java-beans/inheritance-and-the-java-persistenc.html
Вы неправильно рисуете цвет фона для своей ячейки. UITableViewCell
будет организован таким образом, чтобы contentView
и accessoryView
располагались рядом. (Это сделано для того, чтобы contentView
мог обрезать свое содержимое, чтобы оно не перекрывалось с дополнительным представлением) Проблема не в том, что дополнительное представление непрозрачно, а в том, что серый фон просто не отрисовывается позади вспомогательное представление.
Правильный способ настройки фона, нарисованного за UITableViewCell
, - это настроить его backgroundView
. Я не пробовал это,
Я нашел ответ, взглянув на подпредставления моей настраиваемой ячейки табличного представления.
Похоже, что на вспомогательном представлении есть кнопка, расположенная над ним. Найдя эту кнопку в подпредставлениях и изменив ее цвет, я смог обновить цвет фона за дополнительной кнопкой.
<UIButton: 0x3b4d690; frame = (277 0; 43 75); opaque = NO; layer = <CALayer: 0x3b3e0b0>>
for (UIView *aSubView in self.subviews) {
if ([aSubView isMemberOfClass:[UIButton class]]) {
aSubView.backgroundColor = [UIColor greenColor];
}
}
К сожалению, я смог добраться до этой кнопки только в методе
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
моего класса ячеек пользовательского табличного представления . Я успешно использовал это в своем приложении для отображения другого цвета выделения, когда пользователь выбирает ячейку. Это должно указать вам правильное направление.