【问题标题】:UIScrollViewDelegate & scrollViewDidEndScrollingAnimation:svUIScrollViewDelegate & scrollViewDidEndScrollingAnimation:sv
【发布时间】:2012-10-24 22:09:03
【问题描述】:

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

【问题讨论】:

    标签: ios delegates uiscrollview


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      试试- (void) scrollViewDidEndDecelerating:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-27
        • 2015-02-24
        • 1970-01-01
        • 2021-07-12
        • 2012-01-31
        相关资源
        最近更新 更多