- 用snapKit做tableView自适应时cell的约束要在cell init的时候就进行添加,不然tableView自适应会报错和达不到想要效果。
self.bottomBar.snp.makeConstraints({ make in
make.top.equalTo(picView.snp.bottom).offset(5)
make.left.equalTo(10)
make.right.equalTo(-10)
make.height.equalTo(40)
make.bottom.equalTo(-10) //这句一定要放在最后一个view不然无法自动计算高度
})
还是snapKit相关Tips:1.约束Views数组的时候如果只有一个View的时候记得加bottom,避免界面不对情况出现。
2.约束tableViewHeaderView的时候情况比较特殊(需要确定高度才可以进行约束),参照如下代码:
//set the tableHeaderView so that the required height can be determined, update the header's frame and set it again
func setAndLayoutTableHeaderView(header: UIView) {
self.tableHeaderView = header
header.setNeedsLayout()
header.layoutIfNeeded()
header.frame.size = header.systemLayoutSizeFitting(UILayoutFittingCompressedSize)
self.tableHeaderView = header
}