10

所以我有一个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 设置正确,我可以再次滚动。

4

3 回答 3

3

添加一个

[table setNeedsDisplay]; 

另外,您不制作动画是否有特殊原因?

于 2013-04-04T14:01:49.613 回答
1

我通过显式重新加载该部分而不使用 reloadData 解决了这个问题。[table reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationAutomatic];

于 2014-09-26T07:26:06.180 回答
0

我有一个类似的问题。我正在更改静态 tableView 的行数和部分以响应在子 viewController 中输入的数据,但是当内容更新时,contentSize没有,导致滚动问题。

在我的情况下,iOS6 中似乎存在一个错误,reloadData它阻止了 tableView 正确计算新大小(这在 iOS7 中运行良好)。我通过在行和部分上调用适当的插入和删除来解决这个问题,如下所述:UITableView won't reload contentSize

于 2013-10-27T22:08:14.440 回答