我需要创建一个包含动态大小单元格的tableView。为此,我正在使用
func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return UITableViewAutomaticDimension
}
在我的viewController中。我还为我的单元格创建了一个自定义类。
实际上,它有效,我有动态细胞高度,但我希望在我的细胞中有几个子视图。例如,我需要在这里添加背景视图。
class myCustomTableViewCell: UITableViewCell {
...
self.backView = UIView()
self.backView.backgroundColor = UIColor.blueColor()
self.backView.translatesAutoresizingMaskIntoConstraints = false
self.contentView.addSubview(self.backView)
//1st constraint
NSLayoutConstraint(item: backView, attribute: .Bottom, relatedBy: NSLayoutRelation.Equal, toItem: self.contentView, attribute: NSLayoutAttribute.BottomMargin, multiplier: 1.0, constant: 5.0).active = true
//2nd constraint
NSLayoutConstraint(item: backView, attribute: NSLayoutAttribute.Top, relatedBy: NSLayoutRelation.Equal, toItem: self.contentView, attribute: NSLayoutAttribute.TopMargin, multiplier: 1.0, constant: 5.0).active = true
问题是,它不起作用。 如果我使用这两个约束,我的单元格高度不再是动态的,它们都具有相同的高度。
如果我只使用其中一个约束条件,则单元格高度正常,但我收到此错误:
仅警告一次:检测到约束模糊地建议tableview单元格内容视图的高度为零的情况。我们正在考虑无意中崩溃并使用标准高度。
在这两种情况下,我的视图(self.backView)都不可见。
你能告诉我出了什么问题吗?