我的简单自定义UITableViewCell
子类在选中时不会显示其内容。当我点击其中一个单元格时,绿色视图消失,我只看到单元格的红色背景颜色。当我选择另一个单元格时,先前选择的单元格的内容会再次出现。有什么想法吗?
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString*)reuseIdentifier
{
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier])
{
self.backgroundColor = [UIColor redColor];
UIView* someView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 100)];
someView.backgroundColor = [UIColor greenColor];
[self.contentView addSubview:someView];
}
return self;
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
[super setSelected:selected animated:animated];
}
我在我的视图控制器中注册了这个`viewDidLoad':
[self.tableView registerClass:[MyTableViewCell class] forCellReuseIdentifier:@"Identifier"];
以下是我创建它们的方法:
- (UITableViewCell*)tableView:(UITableView*)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath
{
UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:@"Identifier"];
if (cell == nil)
{
cell = [[MyTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:@"Identifier"];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
return cell;
}
答案 0 :(得分:2)
您的单元格背景应在backgroundView
和selectedBackgroundView
属性中设置,而不是作为contentView
的子视图添加。只有内容(文字,图片等)应该在contentView
。