如何将UIView放置在Cell上层 解决Cell边框遮挡UIView的问题
解决UITableViewCell顶部自定义UIView被边框遮挡问题
- 调整视图层级:将目标UIView提到Cell的最上层,调用对应系统方法即可:
Objective-C代码:[cell bringSubviewToFront:yourCustomTopView];
Swift代码:cell.bringSubviewToFront(yourCustomTopView) - 关闭Cell超范围裁剪:如果你的自定义UIView有超出Cell自身bounds的部分,关闭Cell的裁剪属性即可显示超出部分:
Objective-C代码:cell.clipsToBounds = NO;
Swift代码:cell.clipsToBounds = false - 调整边框层级:如果你的Cell边框是手动添加的
CAShapeLayer或者独立边框视图,将边框的层级调低即可避免遮挡:
示例:yourBorderLayer.zPosition = -1 - 处理系统分割线遮挡:如果是系统自带的Cell分割线导致的遮挡,可以隐藏系统分割线,自行在Cell底部绘制自定义分割线:
Objective-C代码:self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
Swift代码:tableView.separatorStyle = .none - 校验约束与视图属性:确认顶部自定义UIView的Auto Layout约束没有冲突,视图的
alpha不低于1、hidden属性为NO,避免因为视图自身属性问题导致看似被遮挡的效果。
内容的提问来源于stack exchange,提问作者RFComp
相关产品推荐
相关产品推荐

