0

如何让滚动视图重新开始?

IE:我UIScrollView的很1000px宽。用户将在视图中滑动以查找主题。当用户到达最后一个主题(比如主题 10)时,我如何UIScrollView在不向后滚动的情况下从头开始(主题 1)?

因此,如果用户愿意,视图将永远继续循环。

4

2 回答 2

0

这是您将要使用的方法:

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

在您检测到该用户到达最后一个主题之后。

于 2012-08-29T15:46:46.057 回答
0

我假设您正在使用UIScrollView以主题为页面的分页。诀窍是复制结束页面,然后当用户滑动到滚动视图中的最后一页(这是第一页的副本)并且减速停止时,您想要将内容偏移更改回第一页。

当我需要这样做时,我发现了这篇文章。我使用setContentOffsetinscrollViewDidEndDecelerating而不是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];
    }
}
于 2012-09-04T01:53:31.837 回答