自定义 UITableViewCell 阴影消失

Posted

技术标签:

【中文标题】自定义 UITableViewCell 阴影消失【英文标题】:Custom UITableViewCell shadow disappears 【发布时间】:2014-09-16 16:12:59 【问题描述】:

我在 xib 中创建了一个自定义 UITableViewCell,其中包含我设置了阴影的“内部”视图。我在 tableView willDisplayCell 中设置了阴影,它最初可以工作

问题是,当我向下滚动然后向后滚动时,阴影消失了(编辑:调用 reloadData 时它重新出现)。这里发生了什么?为什么我的影子不总是显示出来?

更多信息:

我尝试在 cellForRowAtIndexPath: 中设置阴影,结果相同。 我在设置阴影之前设置单元格 selectionStyle 和 backgroundColor。 我也在设置阴影之前弯曲内部视图的边缘(这一直有效..即使在滚动之后)。 我的 tableView 在情节提要中,我在视图控制器 viewDidLoad 中注册了自定义单元格 nib。

【问题讨论】:

Apple 建议使用 CGPath(而不仅仅是 shadowOffset 来提高阴影绘制性能。您尝试过吗? 是的,我已经尝试使用 CGPath.. 仍然会发生 考虑使用图像 - 在任何情况下都应该表现得更好。 看起来这不是性能问题.. 一个不好的约束是剪裁我的视图底部(即剪裁阴影) 【参考方案1】:

为了调试,我增加了弯曲边缘的大小,我可以看到阴影仍然显示,但我的视图底部被剪裁了..

看起来某处存在错误或缺失的约束..

【讨论】:

以上是关于自定义 UITableViewCell 阴影消失的主要内容,如果未能解决你的问题,请参考以下文章

自定义 UITableViewCell 标签消失

内部带有TextView的快速自定义UITableViewCell消失

拖动带有阴影的自定义 UIView - 大小重置和阴影消失

出队后,CALayer 在自定义 UITableViewCell NIB 上消失

Swift UITableViewCell 阴影没有出现

UITableViewCell 阴影未为某些单元格绘制