- 用snapKit做tableView自適應(yīng)時cell的約束要在cell init的時候就進行添加,不然tableView自適應(yīng)會報錯和達不到想要效果。
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相關(guān)Tips:1.約束Views數(shù)組的時候如果只有一個View的時候記得加bottom,避免界面不對情況出現(xiàn)。
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
}