我实现了包含3种自定义单元格的表格视图。如下所示,在公司信息部分中,我的自定义表格视图单元格CompanyInfoTableViewCell
的总部标签正在被切断,因为我认为自定义表格单元格没有调整大小以适应内容视图。
我尝试在包含表视图的控制器的viewDidLoad
方法中实现以下代码。此代码假设使单元格自动调整大小以适应内容,但它不起作用(编辑:它不起作用,因为我正在制作自定义单元格和表视图 编程使用无故障板 )。如何获取自定义表格视图单元格以显示我的所有内容?
tableView.estimatedRowHeight = 80
tableView.rowHeight = UITableViewAutomaticDimension
self.tableView.setNeedsLayout()
self.tableView.layoutIfNeeded()
CompanyInfoTableViewCell
代码:
class CompanyInfoTableViewCell: UITableViewCell {
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
//Create industry label
industryLabel = UILabel(frame: CGRect(x: horOffset, y: 0, width: 0.8*screenSize.width, height: 21))
industryLabel.center.y = 15
contentView.addSubview(industryLabel)
//Create headquarters label
hqLabel = UILabel(frame: CGRect(x: horOffset, y: 0, width: 0.8*screenSize.width, height: 21))
hqLabel.center.y = 40
contentView.addSubview(hqLabel)
}
}
答案 0 :(得分:1)
如果您没有使用故事板和AutoLayout约束,那么您需要根据其保留的内容手动计算UILabels
将要采取的高度。我没有看到任何基于内容计算高度的代码,因此设置了标签的高度以及自定义单元格的高度。
您必须实施heightForRowAtIndexPath
来设置细胞的高度。