我的tableView中有动态细胞计数,如何更改tableView高度?
我试试,但这不起作用:
self.tableView.frame.size.height = CGFloat(height)
答案 0 :(得分:1)
如果您没有使用autolayouts
,那么下面的代码就可以了:
func adjustTableViewHeight() {
var height = tableView.contentSize.height
let maxHeight = (tableView.superview?.frame.size.height)! - self.tableView.frame.origin.y
if height > maxHeight {
height = maxHeight
}
UIView.animateWithDuration(0.5) {
var frame = self.tableView.frame
frame.size.height = height
self.tableView.frame = frame
}
}
如果您使用的是autolayouts
,请使用:
func adjustTableViewHeight() {
var height = tableView.contentSize.height
let maxHeight = (tableView.superview?.frame.size.height)! - self.tableView.frame.origin.y
if height > maxHeight {
height = maxHeight
}
UIView.animateWithDuration(0.5) {
//Assuming 'tableViewHeightConstraint` is an IBOutlet from your storyboard/XIB
self.tableViewHeightConstraint.constant = height
self.tableView.setNeedsUpdateConstraints()
}
}