我正在从cellForForAtIndex方法向UITableViewCell传递视图。我希望根据UIView的内容调整单元格的大小,但是单元格的高度没有变化。添加自定义视图时,我尝试从编码中添加约束。 UITableViewCell方法:
func addContainerView(view:UIView){
vwContainer.addSubview(view)
view.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint(item: view, attribute: .leading, relatedBy: .equal, toItem: vwContainer, attribute: .leading, multiplier: 1.0, constant: 0.0).isActive = true
NSLayoutConstraint(item: view, attribute: .trailing, relatedBy: .equal, toItem: vwContainer, attribute: .trailing, multiplier: 1.0, constant: 0.0).isActive = true
NSLayoutConstraint(item: view, attribute: .top, relatedBy: .equal, toItem: vwContainer, attribute: .top, multiplier: 1.0, constant: 0.0).isActive = true
NSLayoutConstraint(item: view, attribute: .bottom, relatedBy: .equal, toItem: vwContainer, attribute: .bottom, multiplier: 1.0, constant: 0.0).isActive = true
}
上面的代码是从CellForRowAtIndex中的以下代码中调用的:
if let rowObj = objData?.itemsArray?[indexPath.row] as? TableViewDataFormat, let cell = tableView.dequeueReusableCell(withIdentifier: TableViewCell, for: indexPath) as? HiltiTableViewCell {
if let container = rowObj.containerview{
cell.addContainerView(view: container)
cell.lblTitle.text = rowObj.cellTitle
}
return cell
}
这里的目的是在一个自定义框架中创建一个自定义的uitableview,我可以在其中传递UIView,并且单元格应该根据传入的视图的内容来调整大小。
修改1: 试图通过contentview添加内容,如下所示: cell.contentView.addSubview(container) 但仍然得到如下重叠视图:
它应该有3个不同的单元格,第一个单元格带有uiview,其他2个单元格内带有图像