【发布时间】:2012-12-12 12:45:07
【问题描述】:
我有UIScrollView,我在pagingEnabled 模式下使用它。在这个UIScrollView 中,我有很多图片要加载。所以不可能全部加载。我决定加载五个五个。最初,我加载了五张图片并设置了它们的位置、大小和标签。到目前为止,我能够做到这一点。
一旦用户到达第四页,我需要设置第六页并从超级视图中删除第一页。为此,我正在使用这种方法来做到这一点。
[[self.scrollView viewWithTag:currentPage-3] removeFromSuperView];
为了正确检测页面更改事件,我几乎使用了UIScrollView 的所有委托方法,但是当用户连续滚动时,我错过了页面。所以,我无法正确加载图像。例如,当我错过加载第 6 页时,我无法加载第 8 页。
我尝试禁用userInteraction mode,即使设置为NO,用户也可以继续滚动。
我想做的是,当用户更改页面时,我想禁用UIScrollView 滚动,直到我完成将图像加载到UIScrollView。
你们有什么想法,我该怎么做?
谢谢。
【问题讨论】:
-
如果你想要这样一个限制性的 UI,为什么不直接使用 UISwipeGestureRecognizer 来换页呢?
-
看来 UIScrollView 更适合在我的情况下使用。因为我需要使用 clipsToTounds 属性。另外,我没有足够的 UISwipeGEstureRecognizer 经验
-
UISwipeGestureRecognizer 比 PageControl 更容易使用。你需要做的就是正确处理动画。
-
@mstfbsnli 绝对没有理由不能将 clipsToBounds 与任何其他 UIView 一起使用。 UISwipeGestureRecognizer 非常易于使用,在 SO 和其他地方都有大量资源。
-
@FilipRadelic,嗯,我明白为什么我不使用 UISwipeGestureRecognizer,当我使用 UIScrollView 时,页面之间的通道非常流畅,看起来不错,使用 UISwipeGestureRecognizer 时这是不可能的。
标签: iphone ios uiscrollview uikit