我有一个UIScrollView
包含一个UICollectionView
和一个UITableView
并排autolayout
。 collectionView的原点是(0,0),tableView是(320,0)。现在,当在tableView中选择一行时,另一个视图控制器被推送到scrollView上,自动滚动到(0,0)而没有动画。
日志
2014-08-13 12:08:05.466 Flat.to[23057:613] ScrollView.contentOffset: {320, 0}
2014-08-13 12:08:05.466 Flat.to[23057:613] ScrollView.contentSize: {640, 500}
2014-08-13 12:08:06.690 Flat.to[23057:613] Did select row
2014-08-13 12:08:06.695 Flat.to[23057:613] View will disappear called
2014-08-13 12:08:06.698 Flat.to[23057:613] ScrollView.contentOffset: {0, 0}
2014-08-13 12:08:06.699 Flat.to[23057:613] ScrollView.contentSize: {640, 500}
2014-08-13 12:08:07.235 Flat.to[23057:613] View did disappear called
因此,pushViewController动画看起来有点小故障。
虽然我可以在viewWillDisappear
中保存contentOffset但是有没有办法完全防止这种情况发生?
我可以覆盖viewWillDisappear
和viewDidDisappear
之间的任何函数调用吗?
答案 0 :(得分:0)
是的,包含scrollview的viewcontroller的 viewWillAppear 方法将在viewController的viewDidDisapear之后调用,该视图将是popOut。在那里你可以设置scrollVIew的内容偏移量。