0

我将 a 子类化并在其视图中UIViewController实例化 a UIScrollView,其高度为 480,宽度为 640(常规宽度的 2 倍)。分页已启用,因此它本质上是并排的 2 个视图,您可以通过向后滑动和第四次滑动来查看其中任何一个。我的最终目标是让我的视图控制器在用户滑动切换侧面时得到通知。我正在尝试使用该UIScrollViewDelegate方法scrollViewDidEndScrollingAnimations:scrollView,但它没有被调用。我将委托正确设置为视图控制器,因为另一个委托方法scrollViewDidScroll:scrollView在单次滚动期间被多次调用。关于如何解决这个问题/完成我想要的任何想法?

4

2 回答 2

3

问题是scrollViewDidEndScrollingAnimation当完成向新页面的滑动时不会调用 : 委托方法。当它实际移动到新页面时,您将收到多个scrollViewDidScroll: 调用,然后一旦完成,它将发送scrollViewDidEndDeceleratingpachun 在另一个答案中提到的 : 调用。

:方法仅在滚动视图在方法之后为动作设置动画并被使用scrollViewDidEndScrollingAnimation时调用。它不会仅基于用户触摸移动滚动视图(http://developer.apple.com/library/ios/#documentation/uikit/reference/UIScrollViewDelegate_Protocol/Reference/UIScrollViewDelegate.html)而被调用。setContentOffset:animated:scrollRectToVisible:animated:

于 2013-01-24T17:56:53.760 回答
1

尝试- (void) scrollViewDidEndDecelerating:

这应该会通知您 - 顾名思义 - 每当 scrollView 完成执行完整的滚动动画时。

于 2012-10-24T23:56:55.013 回答