我有一些UITableViewCell
有一些子视图。我需要这个子视图显示在单元格的顶部是否被选中。问题是这个单元格有selectedBackgroundView
,它会在select上隐藏我需要的子视图。
UIView *bgView = [[UIView alloc] initWithFrame:cell.bounds];
bgView.backgroundColor = someColor;
cell.selectedBackgroundView = bgView;
我也试过cell.selectedBackgroundView addSubview:
,但没有帮助。
所以问题是:如果选择了单元格,如何在单元格中添加一些子视图使其位于顶部?
答案 0 :(得分:0)
设置cell.selectionStyle = UITableViewCellSelectionStyleNone;
答案 1 :(得分:0)
如果您有自定义Cell,则可以实现
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
[super setSelected:selected animated:animated];
[self bringSubviewToFront:myCustomView];
}
如果没有,逻辑是相同的,只是在
中- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
方法;)
答案 2 :(得分:0)
您必须将子视图添加到tableViewCell的contentView而不是直接添加到单元格。 即使它是您已实现的UITableViewCell的自定义子类,也必须将其他子视图添加到tableViewCell的contentView。选择单元格后,不会隐藏contentView及其子视图。
[cell.contentView addSubview:yourView];