eug*_*ene 19 iphone animation uiscrollview
我用滚动动画滚动 scrollRectToVisible:animated:
但是scrollViewDidEndDecelerating没有被召唤.
有没有办法强制调用函数?
Tat*_*asi 53
scrollViewDidEndDecelerating不会被要求scrollRectToVisible或setContentOffset(即以编程方式滚动).如果你在头文件中注意到这个方法的声明,那么它清楚地提到它是"在我们移动时用手指调用".
现在,为了解决您的问题,scrollViewDidEndScrollingAnimation将调用委托(for setContentOffset和scrollRectToVisible),您可以使用它.
正如您所发现的那样,scrollViewDidEndDecelerating并不总是被调用(如果您用手指移动滚动视图并使其停止,它也不会被调用).
既然scrollViewDidEndDecelerating是委托方法,你可以强制它像这样调用:
[[scrollView delegate] scrollViewDidEndDecelerating:scrollView];
Run Code Online (Sandbox Code Playgroud)
我通过从scrollViewDidEndScrollingAnimation调用scrollViewDidEndDecelerating解决了这个问题
-(void) scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView
{
[self scrollViewDidEndDecelerating:scrollView];
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
//your code
}
Run Code Online (Sandbox Code Playgroud)