如何让滚动视图重新开始?
IE:我UIScrollView
的很1000px
宽。用户将在视图中滑动以查找主题。当用户到达最后一个主题(比如主题 10)时,我如何UIScrollView
在不向后滚动的情况下从头开始(主题 1)?
因此,如果用户愿意,视图将永远继续循环。
如何让滚动视图重新开始?
IE:我UIScrollView
的很1000px
宽。用户将在视图中滑动以查找主题。当用户到达最后一个主题(比如主题 10)时,我如何UIScrollView
在不向后滚动的情况下从头开始(主题 1)?
因此,如果用户愿意,视图将永远继续循环。
这是您将要使用的方法:
- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated
在您检测到该用户到达最后一个主题之后。
我假设您正在使用UIScrollView
以主题为页面的分页。诀窍是复制结束页面,然后当用户滑动到滚动视图中的最后一页(这是第一页的副本)并且减速停止时,您想要将内容偏移更改回第一页。
当我需要这样做时,我发现了这篇文章。我使用setContentOffset
inscrollViewDidEndDecelerating
而不是scrollRectToVisible
,但任何一种方法都可以。
- (void)scrollViewDidEndDecelerating:(UIScrollView *)sender
{
if (scrollView.contentOffset.x == 0) {
[scrollView setContentOffset:contentOffsetOfLastTopic animated:NO];
}
else if (scrollView.contentOffset.x == contentOffsetOfLastPage) {
[scrollView setContentOffset:contentOffsetOfFirstTopic animated:NO];
}
}