将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副本。您找到解决方案了吗?我很想知道,因为我也有类似的问题。