Swift自定义TableViewCell(卡)

时间:2018-07-23 00:13:39

标签: ios swift uitableview pure-layout

我正在尝试制作类似卡片的cell(看起来像是自己漂浮的卡片)。现在,我只是想让红色的UIView出现在单元格中(边距填充12个像素)。以下是UITableViewCell类中的代码:

import UIKit
import PureLayout

class MovieTableViewCell: UITableViewCell {

    let cardView = UIView()

    override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
        super.init(style: style, reuseIdentifier: reuseIdentifier)

        var margins = layoutMargins
        margins.left = 12
        margins.top = 12
        margins.right = 12
        margins.bottom = 12
        contentView.layoutMargins = margins

        cardView.backgroundColor = UIColor.red

        contentView.addSubview(cardView)
        contentView.backgroundColor = nil
        contentView.preservesSuperviewLayoutMargins = false

        cardView.autoPinEdgesToSuperviewMargins()
    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
}

当前,我得到空白tableView。没有红色视图出现。任何人都知道我所缺少的难题(P.S.我正在使用PureLayout)

1 个答案:

答案 0 :(得分:0)

tableView的contentView不能也不会对边距做出响应,它占用了tableView的整个宽度,您还必须使用自动布局将redView放置到它的内容上,或者使用{ {1}}用于框架布局