为什么我的UITableView没有出现在正确的滚动位置?

时间:2010-05-09 05:24:51

标签: iphone uitableview ipad uisplitviewcontroller uipopovercontroller

我有一个基视图分割的应用程序,提出了一种主从接口,并使用一个酥料饼时呈现在纵向模式的主列表。 popover提供了一个分段表视图,最终由NSFetchedResultsController的子类填充。我可以点击工具栏按钮以呈现主列表,滚动到任何行,挖掘行驳回酥料饼。

我的问题是,如果表被滚动经过第二部分的顶部,当我驳回酥料饼,然后后点击工具栏按钮重新本它,该表的滚动位置总是被设置为使得第一行第二部分位于列表的顶部。如果我没有滚动经过第二部分的顶部,它正确地记住当该表被再次提出了它的滚动位置。

类似地,在横向模式下,如果我滚动表过去第三部分的顶部,然后旋转到肖像,当我回来景观滚动位置总是被设置为使得所述第三部分的第一行是在列表的顶部。

我试图调用-scrollToNearestSelectedRowAtScrollPosition:animated在这两个主视图控制器的-viewWillAppear,以及在分割视图委托的splitViewController:popoverController:willPresentViewController:,没有效果。任何人都知道我可能做错了什么?

1 个答案:

答案 0 :(得分:2)

您是否尝试存储tableView.contentOffset

CGPoint offset = tableView.contentOffset;

...
...
...

[tableView setContentOffset: offset];