1

这是一个奇怪的问题!我正在使用 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 时,UITableView 中只有 1 个单元格设置了样式。中间的单元格。这是为什么?

4

1 回答 1

2

创建CustomUITableViewCell并实施<UIAppearance>协议

自定义单元格.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]];
于 2013-03-06T21:28:18.187 回答