在程序化移动的滚动视图中检测“结束减速”

3
我之前有一个手动拖动的滚动视图,现在我想通过点击一个按钮来以编程方式移动滚动视图。使用以下代码实现:
offset = CGPointMake(scrollView.contentOffset.x+320, 0);

[UIScrollView beginAnimations:@"scrollAnimation" context:nil];
[UIScrollView setAnimationDuration:0.5];
[scrollView1 setContentOffset:offset];
[UIScrollView commitAnimations];

它运行良好,但现在scrollViewBeginDragging和scrollViewEndDecelerating函数未被调用。Begindragging对我来说没有问题,但我不知道如何检测程序触发滚动视图移动的结束。

提前感谢!


你尝试过使用 setContentOffsetanimated 方法吗?http://developer.apple.com/library/ios/#documentation/uikit/reference/UIScrollView_Class/Reference/UIScrollView.html - Daniel
我曾经遇到过这个问题...我记不清是什么了,最终我用这种方式解决了它。 - Fernando Mazzon
2个回答

4

实现scrollViewDidEndScrollingAnimation:委托方法。这正是它的作用所在。


0

嗯...你应该知道什么时候该调用它,对吧?这些回调是为触摸而设计的,所以它们不起作用,但你正在告诉它完成0.5,那么为什么不自己安排一个调用委托方法的呢?

[self performSelector:@selector(scrollViewDidEndDecelerating:) withObject:scrollView afterDelay:0.5];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接