iOS的UIScrollView / UITableView contentOffset重置pushViewControllerAnimated时:

我有一个简单的UIViewController UITableView作为其viewsubview 。 我想要隐藏我tableview的tableViewHeader的选项。 这工作正常 – 我可以调整的内容偏移与headerView的高度和它的一切好。 然而,当我转换到一个新的VC(通过推) – 在转换animation期间,tableView的contentOffset重置为{0,0} – 实质上显示了标题视图。

有没有办法保持tableView的contentOffset ,直到新的VC已经显示在屏幕上?

我注意到,如果tableView的contentSize大于超视图的边界(即有更多的单元格比框架可以显示) – 那么contentOffset不会被重置。 我有一个日志self.tableView.contentOffset.yviewDidDisappear – 在第一个实例(当contentSize较小) – 日志打印0 ,如果不是这样的话 – 那么它打印44 (这是预期值) 。 ?

更新:

viewWillLayoutSubviewsviewDidLayoutSubviews设置所需的contentOffset值似乎工作正常,但我不明白这样做的含义。 不幸的是,这不适用于iOS 7,预期的行为只能在iOS 8上实现。