我需要将“页眉”,“单元格”和“页脚”分组在一个阴影中,因此创建了容器视图并为这些子视图提供了阴影,但是即使设置了TableView.separatorStyle = .none
,也可以看到它们之间的细线间隙
请参阅下面的图片以了解相同的内容:
下面是在视图上创建阴影的方法
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/