将UITableViewCell中的子视图放在前面

时间:2011-07-21 19:37:02

标签: uitableview

我向UILabel的{​​{1}}添加了一堆UITableViewCell次观看,其中一些可能会重叠。在点击任何标签时,我想触发一些动作。另外,我想将点击标签调到顶部。

在标签上使用UITapGestureRecognizer,我可以找出哪一个被点击并执行操作。但是将轻拍和重叠的标签放在前面是行不通的。这就是我想要的:

contentView

我确实得到了上面的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上调用了bringSubviewToFront。但是子视图布局顺序没有变化。

想法?

2 个答案:

答案 0 :(得分:14)

要探索的一件事是在uitablviewcell的图层上进行zposition。

这对我来说成功地放在另一个桌面上:

    cell1.layer.zPosition=3 ;//above

    cell2.layer.zPosition=2 ;//below 

答案 1 :(得分:3)

bringSubviewToFront:对我不起作用

尝试insertSubview:belowSubview:,其中后一个子视图是超级视图,例如标签栏,导航栏,表格视图。