UIAppearance没有定制UITableViewCell的样式

时间:2013-03-06 21:12:31

标签: ios

这是一个奇怪的问题!我正在使用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中被设置样式。中间的细胞。这是为什么?

1 个答案:

答案 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]];