在uitableviewcell中的uiview上添加uiview

时间:2018-11-25 08:33:04

标签: ios swift uitableview uiview autolayout

我正在从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) 但仍然得到如下重叠视图: enter image description here

它应该有3个不同的单元格,第一个单元格带有uiview,其他2个单元格内带有图像

0 个答案:

没有答案