我有一个使用内置翻转动画在各种视图之间切换的应用程序。一切正常,除了当我翻回一个滚动视图并且它不在第一页上时。意义:
- 我的滚动视图有三页
- 用户滑动到第三页
- 用户点击第三页上的按钮进入下一个视图
- 当用户尝试返回滚动视图时,翻转动画会在翻转过程中显示第一页,然后在翻转完成后捕捉到正确的页面。
我正在使用 [scrollView setContentOffset] 在翻转动画之前设置正确的页面,但这似乎还不够。有没有办法做到这一点?
我有一个使用内置翻转动画在各种视图之间切换的应用程序。一切正常,除了当我翻回一个滚动视图并且它不在第一页上时。意义:
我正在使用 [scrollView setContentOffset] 在翻转动画之前设置正确的页面,但这似乎还不够。有没有办法做到这一点?
您可以检查的一种可能性是使用setContentOffset
:
[scrollView setContentOffset:CGPointMake(pageWidth * pageNumber, 0)];
移动 scrollView 原点,使其显示页码pageNumber
(从 0 到 N)。或者你可以尝试:
- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated
但是由于您没有指定如何制作翻转动画,所以我不知道哪一个适合您。
采用
[scrollView setContentOffset:theOffset animated:NO];
您想抑制动画,因为您自己正在执行动画。您还需要确保在开始指定翻转动画之前设置内容偏移量,因为动画会将所有内容从当前状态转换为您在动画块中提供的任何新值。
调用它viewDidLoad
或viewWillAppear:
应该工作。