我需要将“页眉”,“单元格”和“页脚”分组在一个阴影中,因此创建了容器视图并为这些子视图提供了阴影,但是即使设置了TableView.separatorStyle = .none,也可以看到它们之间的细线间隙

请参阅下面的图片以了解相同的内容:
ios - 即使我已设置TableView.separatorStyle = .none,UITableViewCell之间的细线间隙仍可见-LMLPHP

下面是在视图上创建阴影的方法

class ShadowView: UIView {
    override var bounds: CGRect {
        didSet {
            setupShadow()
        }
    }

    private func setupShadow() {
        self.layer.masksToBounds = false
        self.layer.shadowColor = UIColor.black.cgColor
        self.layer.shadowOpacity = 2.2
        self.layer.shadowOffset = CGSize(width: -1, height: 1)
        self.layer.shadowRadius = 3

        self.layer.shadowPath = UIBezierPath(rect: self.bounds).cgPath
        self.layer.shouldRasterize = true

        self.layer.rasterizationScale = UIScreen.main.scale
    }
}

最佳答案

请尝试以下方法:

将阴影添加到tableViewCell中,而不是view的每个cell中。

如果您想使用global method,请输入以下内容:

extension UIView {

func addShadow(cornerRadius: CGFloat, opacity: Float, radius: CGFloat, offset: (x: CGFloat, y: CGFloat)){
    self.clipsToBounds = true
    self.layer.cornerRadius = cornerRadius
    self.layer.masksToBounds = false
    self.layer.shadowColor = UIColor.gray.cgColor
    self.layer.shadowOpacity = opacity
    self.layer.shadowOffset = CGSize(width: offset.x, height: offset.y)
    self.layer.shadowRadius = radius
}

}

然后在tableViewCell类中,请按以下方式调用此方法:
 override func awakeFromNib() {
    super.awakeFromNib()
    // Initialization code
    self.addShadow(cornerRadius: 8, opacity: 1, radius: 5, offset: (x: 0, y: 0))
 }

根据您的要求更改值。

它可能会帮助您。谢谢

关于ios - 即使我已设置TableView.separatorStyle = .none,UITableViewCell之间的细线间隙仍可见,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54198490/

10-14 23:26