我如何将宽度设置为自定义 UITableViewCell

How do i set width to Custom UITableViewCell

我想将自定义 UITableViewCell 的宽度设置为屏幕宽度的 80%,但我知道单元格的大小可以使用 "layoutSubviews()" 方法进行操作,但我不知道如何操作。

请帮帮我

UIView 拖放到 cellcontent view(即单元格中)。根据您的需要调整它的高度和宽度,如您所说的 80%(因此明智地提供填充)。如果您使用自动布局,则设置 top,bottom,leading and trailing 约束。

您可以将内容视图的背景颜色设置为清晰颜色,将单元格的背景设置为清晰颜色或您想要的颜色。同样,您也可以设置 tableview 的背景颜色!

class CustomTVC: UITableViewCell {

    override var frame: CGRect {
        get {
            return super.frame
        }
        set (newFrame) {
            var frame = newFrame
            frame.size.width = UIScreen.mainScreen().bounds.width * 0.8
            super.frame = frame
        }
    }
}

答案太简单了。只需更改 class.

中单元格的框架
class CustomCell: UITableViewCell {


    override var frame: CGRect {
        get {
            return super.frame
        }
        set (newFrame) {
            var frame = newFrame
            let newWidth = frame.width * 0.80 // get 80% width here
            let space = (frame.width - newWidth) / 2
            frame.size.width = newWidth
            frame.origin.x += space

            super.frame = frame

        }
    }

}

一个新的可用解决方案是使用 Swift 现在为 UITableView 提供的“插入分组”样式。这会创建一个更窄的 UITableViewCells 外观,例如 this