双向无限UIScrollView

时间:2011-04-17 10:57:59

标签: uiscrollview

我想创建一个无限的scrollView(就像老虎机),但没有分页。当用户向下滚动时,我只需要不断增加contentSize和scrollView滚动:

- (void)scrollViewDidScroll:(UIScrollView *)theScrollView {
   theScrollView.contentSize = CGSizeMake(45, theScrollView.contentSize.height+45);
}

但是,当用户向上滚动时,如何创建相同的效果?我尝试使用contentInset但是然后contentOfsset没有得到更新,我最终有了奇怪的行为。

你知道我怎么能做到这一点吗?

3 个答案:

答案 0 :(得分:1)

我需要相同,所以我创建了这个:http://dev.doukasd.com/2011/04/infinite-scrolling-dial-control-for-ios/

看一下视频,我相信这就是你要找的东西。包含源代码。

答案 1 :(得分:1)

我开发了这种滚动视图。它可以无限滚动。 您可以查看github:https://github.com/quangrubify/InfiniteUITableView

答案 2 :(得分:0)

我认为您应该向我们提供有关该问题的更多详细信息。您希望用户在向上滚动时看到什么内容?您在scrollViewDidScroll方法中增加了contentSize,但是您没有检查contentOffset,因此每当用户滚动scrollView时,contentWill都会更大(无论哪种方式,如果允许,甚至是水平的)。由于contentOffset已经为0,因此用户无法向上滚动,因为滚动视图无法显示任何内容。

我不知道你的scrollView的内容,但我已经实现了水平无限滚动。有关详细信息,请参阅:https://stackoverflow.com/a/12856174/936957

PS:不要使用“魔术数字”,这是一个更好的选择:

 theScrollView.contentSize = CGSizeMake(theScrollView.contentSize.x, theScrollView.contentSize.height+45); 
//Or theScrollView.frame.size.width alternatively