向 CardView TableViewCell 添加间距

Ben*_*lle 3 uitableview ios swift

我正在使用卡片视图来构建我的表格单元格并且它正在工作,但我希望能够更改外观。

它看起来像这样:

当前的

我希望它看起来像这样,表格单元格和每个表格单元格之间的边缘和空间之间有空间:

我想要的是

这是我创建卡片视图表格单元格的代码:

class ModelCell: UITableViewCell {

// Outlets
@IBOutlet weak var modelTitleLabel: UILabel!
@IBOutlet weak var modelDescriptionLabel: UILabel!


override func awakeFromNib() {
    super.awakeFromNib()
    // Initialization code
}

override func setSelected(_ selected: Bool, animated: Bool) {
    super.setSelected(selected, animated: animated)

    // Configure the view for the selected state
}

@IBInspectable var cornerRadius: CGFloat = 10

@IBInspectable var shadowOffsetWidth: Int = 0
@IBInspectable var shadowOffsetHeight: Int = 3
@IBInspectable var shadowColor: UIColor? = UIColor.white
@IBInspectable var shadowOpacity: Float = 0.5

override func layoutSubviews() {
    layer.cornerRadius = cornerRadius
    let shadowPath = UIBezierPath(roundedRect: bounds, cornerRadius: cornerRadius)

    layer.masksToBounds = false
    layer.shadowColor = shadowColor?.cgColor
    layer.shadowOffset = CGSize(width: shadowOffsetWidth, height: shadowOffsetHeight);
    layer.shadowOpacity = shadowOpacity
    layer.shadowPath = shadowPath.cgPath
    layer.borderWidth = 1.0
    layer.borderColor = UIColor(red:0.00, green:0.87, blue:0.39, alpha:1.0).cgColor



    }

}
Run Code Online (Sandbox Code Playgroud)

提前谢谢你的帮助。

Don*_*Mag 5

您可以轻松地为表格视图中的行添加分隔。

这是一种方法:

将 a 添加UIView到您的单元格,其中包含两个标签。然后从侧面和顶部和底部给该视图一个插图。顶部/底部插图将为您提供行之间的间距。

然后将边框和阴影效果应用到“内部”视图 - 此处以浅灰色显示,以便您可以看到它:

在此处输入图片说明

结果(左图为灰色背景,右图为白色背景):

将“内部视图”分配给 IBOutlet,您的代码将更改为:

override func layoutSubviews() {

    // just use the layer's shadow... adding the Bezier         
    //let shadowPath = UIBezierPath(roundedRect: innerView.bounds, cornerRadius: cornerRadius)
    //innerView.layer.shadowPath = shadowPath.cgPath

    innerView.layer.cornerRadius = cornerRadius
    innerView.layer.masksToBounds = false
    innerView.layer.shadowColor = shadowColor?.cgColor
    innerView.layer.shadowOffset = CGSize(width: shadowOffsetWidth, height: shadowOffsetHeight);
    innerView.layer.shadowOpacity = shadowOpacity
    innerView.layer.borderWidth = 1.0
    innerView.layer.borderColor = UIColor(red:0.00, green:0.87, blue:0.39, alpha:1.0).cgColor

}
Run Code Online (Sandbox Code Playgroud)