我正在尝试制作类似卡片的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)

最佳答案

tableView的contentView无法且不响应边距,它占用tableView的整个宽度,您还必须使用自动布局将redView放置到它的内容上,或者使用heightForRowAt框架布局

08-07 17:21