我正在设计一个应用程序,它有一个 ScrollView ,其上有一个内容 View ,该内容 View 有一个禁用滚动的表格 View 。现在我希望 TableView 能够根据我的数组内容动态增加其大小。我已经做了一些编码,并且将我的约束屏幕截图放在其中,以便让事情变得更清楚 -
我的约束列表——
现在这是我的代码,用于填充表格 View 并将其大小增加到内容 View -
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
let cell = tableview.dequeueReusableCellWithIdentifier("cellreuse", forIndexPath: indexPath)
cell.textLabel?.text = name[indexPath.row]
tableview.frame.size = tableview.contentSize
return cell
}
所以现在当我运行代码时,内容大小不会根据 TableView 的大小而增加。这是 4s 上的样子 -
那么如何根据动态支持 IB 中规定的所有约束的 TableView 增加的高度来调整我的内容 View ?
最佳答案
按照这些说明进行操作。
需要约束:-
MainView 到 ScrollView - leading = 0, trailing = 0, top = 0, bottom = 0;
ScrollView 到 ContentView -leading = 0,trailing = 0,top = 0,bottom = 0,contentView.width = mainView.width,contentView.height =“一些常量”
ContentView 到 TableView - leading = 8,trailing = 8,top = 518(根据您的屏幕截图),bottom = 64;
现在需要为 contentView
的高度约束创建一个 IBOutlet
,我们之前已经给了它一个随机常量值;我们称它为 contentViewHeightConstraint
。
现在,一旦您获得数组中的记录,您需要调用 reloadData
并根据表中的记录数增加 contentView
的高度。
contentViewHeightConstraint.constant = 518 + 44*(name.count) + 64;
同时删除 cellForRowAtIndexPath:
中用于设置 tableView 大小的代码。
关于ios - UITableView 在禁用滚动的情况下动态增加高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34435627/