检测程序化UIScrollView滚动的结束

时间:2009-12-02 01:57:20

标签: iphone objective-c

我正在使用scrollToRowAtIndexPath在UITableViews中进行编程滚动,它不会触发scrollViewDidEndDecelerating。检测滚动何时完成的好方法是什么?

我问,因为在我的代码中:

[tableView1 scrollToRowAtIndexPath:indexPath1 atScrollPosition:UITableViewScrollPositionBottom animated:YES];
[tableView2 scrollToRowAtIndexPath:indexPath2 atScrollPosition:UITableViewScrollPositionMiddle animated:YES];

// Additional methods here

偶尔会在此滚动完成之前触发其他方法。我想使用比performSelector更简单的东西:afterDelay:。

1 个答案:

答案 0 :(得分:9)

你试过scrollViewDidEndScrollingAnimation:吗?它可能与您的其他委托方法具有相同的问题,但它值得一试。文档特别说明在setContentOffset:animated:scrollRectToVisible:animated:结束时调用它,我可以用它预感scrollToRowAtIndexPath:atScrollPosition:

修改:已确认在scrollViewDidEndScrollingAnimation:结束时调用了scrollToRowAtIndexPath:atScrollPosition:。谢谢伊恩!