将UITableViewCell中的子视图置于前面

将UITableViewCell中的子视图置于前面,uitableview,Uitableview,我在UITableViewCell的contentView中添加了一组UILabel视图,其中一些视图可能会重叠。在点击任何标签时,我想触发一些操作。另外,我想把点击的标签带到顶部 使用标签上的UITapgestureRecognitor,我可以找出哪个标签被点击并执行操作。但是,将轻敲和重叠的标签放在前面是行不通的。这就是我正在尝试的: UILabel *foundLabel = ....; // find the label for (UITableViewCell *acell in th

我在
UITableViewCell
contentView
中添加了一组
UILabel
视图,其中一些视图可能会重叠。在点击任何标签时,我想触发一些操作。另外,我想把点击的标签带到顶部

使用标签上的UITapgestureRecognitor,我可以找出哪个标签被点击并执行操作。但是,将轻敲和重叠的标签放在前面是行不通的。这就是我正在尝试的:

UILabel *foundLabel = ....; // find the label
for (UITableViewCell *acell in theTable.visibleCells) {
    UIView *cellContentView = acell.contentView;
    if ([cellContentView.subviews containsObject:foundLabel]) {
        [cellContentView bringSubviewToFront:foundLabel];
        NSLog(@"should bring to front...");
    }
}
我确实得到了上面的
NSLog
输出,因此我知道在相应单元格的
contentView
上调用了
bringSubviewToFront
。但子视图布局顺序没有更改


想法?

将subview带到前台:
对我也不起作用


请尝试插入子视图:以下子视图:,其中后一个子视图是超级视图,如选项卡栏、导航栏、表格视图。

需要探索的一件事是UtablViewCell层上的zposition

这为我成功地将tableviewcell置于另一个单元格前面:

    cell1.layer.zPosition=3 ;//above

    cell2.layer.zPosition=2 ;//below 

注意:insertSubview不会在后续调用中创建额外的UIView副本。您找到解决方案了吗?我很想知道,因为我也有类似的问题。