如何防止UIScrollView滚动浏览两个页面?

时间:2012-12-12 12:45:08

标签: iphone ios uiscrollview uikit

我有UIScrollView,我正在pagingEnabled模式下使用它。在这个UIScrollView中,我要加载很多图像。因此无法加载所有图像。我决定加五到五。最初,我加载了五张图片并设置了它们的位置,大小和标签。到目前为止,我能够做到这一点。

一旦用户到达第四页,我需要设置第六页并从superview中删除第一页。为此,我正在使用这种方法来做到这一点。

[[self.scrollView viewWithTag:currentPage-3] removeFromSuperView];

为了正确检测页面更改事件,我几乎使用了UIScrollView的所有委托方法,但是当用户连续滚动时,我错过了页面。所以,我无法正确加载图像。例如,当我错过加载第6页时,我无法加载第8页。

我尝试禁用userInteraction mode,即使设置为,用户也可以继续滚动。

我想要做的是,当用户更改页面时,我想禁用UIScrollView滚动,直到我将图像加载到UIScrollView

你们有什么想法,我怎么能做到这一点?

谢谢。

1 个答案:

答案 0 :(得分:1)

  

我想要做的是,当用户更改页面时,我想禁用UIScrollView滚动,直到我将图像加载到UIScrollView中。

如果要在每个页面滚动后禁用滚动,请查看UIScrollViewDelegate方法,例如scrollViewDidScroll:

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIScrollViewDelegate_Protocol/Reference/UIScrollViewDelegate.html#//apple_ref/occ/intf/UIScrollViewDelegate

scrollViewDidScroll:中,您可以在scrollEnabled上设置UIScrollViewNO。图像完成加载后,重新启用滚动浏览相同的属性。