let cotnainer = UIView()
let item = UIView()
cotnainer.addSubview(item)
item.snp_makeConstraints { (make) in
make.height.equalTo(item.snp_width)
make.leading.trailing.equalTo(cotnainer).inset(8)
make.top.bottom.equalTo(cotnainer)
}
print(cotnainer.systemLayoutSizeFittingSize(CGSize(width: 375, height: 0), withHorizontalFittingPriority: 1000, verticalFittingPriority: 50))
let cellContainer = UITableViewCell()
let cellItem = UIView()
cellContainer.contentView.addSubview(cellItem)
cellItem.snp_makeConstraints { (make) in
make.height.equalTo(cellItem.snp_width)
make.leading.trailing.equalTo(cellContainer.contentView).inset(8)
make.top.bottom.equalTo(cellContainer.contentView)
}
print(cellContainer.systemLayoutSizeFittingSize(CGSize(width: 375, height: 0), withHorizontalFittingPriority: 1000, verticalFittingPriority: 50))
print(cellContainer.contentView.systemLayoutSizeFittingSize(CGSize(width: 375, height: 0), withHorizontalFittingPriority: 1000, verticalFittingPriority: 50))
我正在使用SnapKit来制作约束,并按照以下结果返回结果。
(375.0, 359.0)
(375.0, 359.333333333333)
(375.0, 359.0)
我不知道为什么第二个结果会有额外的0.3333333,这使我的单元格约束有错误。这是一个我没有正确设置的错误。
答案 0 :(得分:0)
好的,我打印UITableViewCell的子视图,发现它有一个分隔符视图,这是造成这种奇怪行为的原因。
设置cellContainer.separatorInset = UIEdgeInsetsZero
修复问题