0

我有一个从 .xib 文件加载的自定义 UITableViewCell。在 .xib 的 .m 中,我正在加载一些额外的 UI 元素(例如图像视图),我将这些元素添加到 contentView 中:

[self.contentView addSubview:myImageView];

但是,当我选择行时,.selectedBackgroundView 出现在 myImageView 下,而不是整个单元格的顶部。

我该怎么做才能让 selectedBackgroundView 重新回到顶部,或者确保我的 UI 元素的顺序正确完成?

以下是我在 init 中加载 .xib 的方式供参考:

cellLoader = [UINib nibWithNibName:@"MasterTableViewCell" bundle:[NSBundle mainBundle]];

在 cellForRowAtIndexPath 中:

MasterTableViewCell *cell = (MasterTableViewCell *)[tableView dequeueReusableCellWithIdentifier:@"MasterTableViewCell"];
if (cell == nil) {
    NSArray *topLevelItems = [cellLoader instantiateWithOwner:self options:nil];
    cell = [topLevelItems objectAtIndex:0];

    UIView *v = [[UIView alloc] init];
    v.backgroundColor = [UIColor blackColor];
    cell.selectedBackgroundView = v;
}
return cell;

谢谢大家

4

0 回答 0