ios - 如何在 ios 的 tableview 中的单元格内的 View 中添加阴影?
<p><p>我在 XIB 中创建了一个 <code>tableviewcell</code> 并通过注册类在 <code>tableview</code> 中使用它。我在这里使用 <code>autolayout</code>。</p>
<p>但问题是当我在 <code>viewcontroller</code> 中加载 <code>tableview</code> 时,单元格内的 View 阴影设置不正确。它超出了它的界限,如我用红色框显示的图片中所示。 <a href="/image/BtLkV.jpg" rel="noreferrer noopener nofollow"><img src="/image/BtLkV.jpg" alt="enter image description here"/></a> </p>
<p>但是当滚动 <code>tableview</code> 时, View 的阴影会按预期正确显示。</p>
<p><code>cellForRowAtIndexPath</code>中使用的代码如下所示:</p>
<pre><code>let layer = cell.cellContectView.layer
layer.shadowOffset = CGSizeMake(1.0, 1.0)
layer.shadowColor = UIColor.blackColor().CGColor
layer.shadowRadius = 5
layer.shadowOpacity = 0.2
layer.masksToBounds = false
layer.shadowPath = UIBezierPath(rect: layer.bounds).CGPath
</code></pre>
<p>请注意:文字模糊不是问题。出于安全原因将其隐藏</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>您可以尝试从 cellForRowAtIndexPath 中删除图层的代码并将其放入您的单元类中:</p>
<pre><code>override func prepareForReuse() {
let layer = self.contentView.layer
layer.shadowOffset = CGSizeZero
layer.shadowColor = UIColor.blackColor().CGColor
layer.shadowRadius = 5
layer.shadowOpacity = 0.2
layer.masksToBounds = false
layer.shadowPath = UIBezierPath(rect: layer.bounds).CGPath
}
</code></pre></p>
<p style="font-size: 20px;">关于ios - 如何在 ios 的 tableview 中的单元格内的 View 中添加阴影?,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/38435222/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/38435222/
</a>
</p>
页:
[1]