菜鸟教程小白 发表于 2022-12-11 17:00:03

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]
查看完整版本: ios - 如何在 ios 的 tableview 中的单元格内的 View 中添加阴影?