这是一个奇怪的问题!我正在使用UIAppearance API来设置我的UITableViewCells样式。我使用以下代码来设置UITableViewCell的样式。
// table cell
id tableCellAppearance = [UITableViewCell appearance];
[tableCellAppearance setBackgroundView:[theme imageViewForTableViewCellBackground]];
// table cell
-(UIImageView *) imageViewForTableViewCellBackground
{
UIImageView *backgroundView = [[UIImageView alloc] init];
[backgroundView setImage:[UIImage imageNamed:@"tile_heading_background"]];
return backgroundView;
}
当我运行应用程序并看到UITableViewCells时,只有1个单元格在UITableView中被设置样式。中间的细胞。这是为什么?
答案 0 :(得分:2)
创建CustomUITableViewCell
并实施<UIAppearance>
协议
<强> CustomCell.h 强>
@interface CustomCell : UITableViewCell <UIAppearance>
@property (nonatomic, weak) UIColor *backgroundCellColor UI_APPEARANCE_SELECTOR;
<强> CustomCell.m 强>
@implementation CustomCell
@synthesize backgroundCellColor;
-(void)setBackgroundCellColor:(UIColor *)backgroundColor
{
[super setBackgroundColor:backgroundColor];
}
最后在视图中使用 CustomCell 并设置背景或图片
[[CustomCell appearance] setBackgroundCellColor:[UIColor redColor]];