我首先要感谢大家帮助我Dynamically Generate UITableViews。但是我需要将这个问题扩展到我发现的一个新问题。虽然我现在可以动态生成表,但我需要知道如何根据将有多少行动态设置表的高度。如果您阅读上面的主题,我基本上必须根据用户拥有的策略生成x表,但该表中的x行数并不总是或者全部都是相同的数量。我怎么能这样做,以便下一个表将在它上面的表之后的视图的正确部分开始?这样它们不重叠?
如果我说错了,你不明白,请问。
答案 0 :(得分:5)
好吧,如果你有每个表中的行数,那就不太难了。
我假设您在数组中拥有所有表视图以便于管理。
你只需要在保持位置计数器的同时循环遍历数组,然后根据计数器调整表格视图的大小。
CGFloat currentYPosition = 0;
for (UITableView *tableView in allTableViews) {
CGRect frame = tableView.frame;
CGFloat height = tableView.rowHeight * numberOfRowsInTableView;
frame.origin.y = currentYPosition;
frame.size.height = height;
tableView.frame = frame;
currentYPosition += height;
}
对于height变量,您可以添加任何其他额外内容(表视图页眉,页脚等)