动态设置动态生成的UITableviews的高度和位置?

Pop*_*eye 1 iphone objective-c uitableview ios

我首先要感谢大家帮助我完成动态生成UITableViews.但是我需要将这个问题扩展到我发现的一个新问题.虽然我现在可以动态生成表,但我需要知道如何根据将有多少行动态设置表的高度.如果您阅读上面的主题,我基本上必须根据用户拥有的策略生成x表,但该表中的x行数并不总是或者全部都是相同的数量.我怎么能这样做,以便下一个表将在它上面的表之后的视图的正确部分开始?这样他们不重叠?

如果我问这个错误你不明白请问.

Kev*_*Low 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;
}
Run Code Online (Sandbox Code Playgroud)

对于height变量,您可以添加您可能拥有的任何其他额外内容(表视图页眉,页脚等)

  • 我正在进入像这样的东西.只要他能从他的Web服务中获取策略的数量并适当地创建tableView并将它们存储在所述数组中,这看起来很好 (2认同)