快速的tableview单元格更改宽度框架不起作用

时间:2018-12-08 08:30:03

标签: swift uitableview tableview frame

这是我的代码,但是不起作用!

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! MyChatCell

    var frame = cell.frame
    if(indexPath%2 == 0){
        frame.size.width = CGFloat(200)
    } else {
        frame.size.width = CGFloat(100)
    }
    cell.frame = frame

    return cell
}

我想将每个单元格的宽度更改为100或200

但是frame.size.width无效

1 个答案:

答案 0 :(得分:0)

您无法更改此设置,因为表格视图中的所有单元格都必须具有相同的宽度,但是如果需要可以具有不同的高度。

但是,您可以尝试使表格视图的.backgroundColor以及单元格的内容视图透明,而不是在该单元格的内容视图上添加另一个“包装器视图”并使之具有不同的宽度。它将产生“视觉印象”,即单元格确实具有不同的宽度。