所以我有一个UITableViewController
启动另一个tableVC
,它会在解散时更改原始单元格的数量。
解雇后,尽管返回正确的单元格高度(和标题高度)以及更新的行数(使滚动内容很大),滚动视图仅在滚动时反弹。查看表格滚动条的contentSize
属性后,contentSize
不正确,与以前相同。
最初加载原始tableVC
时,我没有遇到问题。如果我有大量单元格,表格将按预期滚动。只有在解雇所提出的tableVC
时才会遇到问题。我不确定的一件事是什么时候调用reloadData。我这样做:
1。在提交的tableVC
中:
[[self presentingViewController] dismissViewControllerAnimated:YES completion:nil]
2。在原始表VC:
-(void)viewDidAppear
{
//tablecell number manipulated
[table reloadData];
}
有趣的是,如果我旋转到横向并回到肖像,那么contentSize会正确设置,我可以再次滚动。
答案 0 :(得分:3)
添加
[table setNeedsDisplay];
另外,你有没有动画的特殊原因?
答案 1 :(得分:1)
我通过显式重新加载部分而不是使用reloadData来解决这个问题。 [table reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationAutomatic];
答案 2 :(得分:0)
我有类似的问题。我正在更改静态tableView的行数和部分数以响应在子viewController中输入的数据,但在内容更新时,contentSize
没有,导致滚动问题。
在我的情况下,iOS6中reloadData
似乎存在一个错误,导致tableView无法正确计算新的大小(这在iOS7中运行良好)。我通过在行和节上调用适当的插入和删除来解决这个问题,详见此处:UITableView won't reload contentSize。