在iOS上的两个视图之间翻转动画

时间:2012-06-26 18:21:41

标签: ios

我有一个使用内置翻转动画在各种视图之间切换的应用。一切正常,除非我正在回到一个滚动视图的视图,而不是在第一页上。含义:

  • 我的滚动视图有三页
  • 用户滑动到第三页
  • 用户点击第三页上的按钮以进入下一个视图
  • 当用户尝试返回滚动视图时,翻转动画会在翻转过程中显示第一页,然后在翻转完成后捕捉到正确的页面。

我正在使用[scrollView setContentOffset]在翻转动画之前设置正确的页面,但这似乎不够。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:0)

您可以检查的一种可能性是使用setContentOffset

[scrollView setContentOffset:CGPointMake(pageWidth * pageNumber, 0)];

移动scrollView原点,使其显示页码pageNumber(从0到N)。或者你可以试试:

- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated

但是由于你没有指定你如何进行翻转动画,我不知道哪一个适合你。

答案 1 :(得分:0)

使用

[scrollView setContentOffset:theOffset animated:NO];

您想要抑制动画,因为您自己正在执行动画。您还需要确保在开始指定翻转动画之前设置内容偏移,因为动画会将当前状态中的所有内容转换为您在动画块中提供的任何新值。

viewDidLoadviewWillAppear:中调用它应该有效。