我在UILabel
的UITableViewCell
中添加了一堆contentView
View ,其中一些可能会重叠。点击任何标签时,我要触发一些操作。另外,我想将点击的标签调到顶部。
使用标签上的UITapGestureRecognizer,我可以找出被点击的那个并执行操作。但是,将点击和重叠的标签放在最前面是行不通的。这是我正在尝试的:
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
上调用了contentView
。但是 subview 布局顺序没有变化。有想法吗?
最佳答案
要探索的一件事是uitablviewcell层上的zposition。
对于我来说,这成功地将tableviewcell放在另一个 View 的前面:
cell1.layer.zPosition=3 ;//above
cell2.layer.zPosition=2 ;//below