我正在使用以下两个 UIScrollView 委托方法来调用我的 UIViewController 中的另一个方法:
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
// do something
}
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
// do something
}
我尝试了各种不同的调用//做某事的方法,但要么最终都没有被调用,要么两个委托方法都被调用,在某些情况下调用 //do something 两次。例如:
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
if(![scrollView isDecelerating] && ![scrollView isDragging]){
//do something
}
}
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
if(!decelerate){
//do something
}
}
因此,如果我滚动并让它减速停止,它会调用scrollViewDidEndDecelerating:,但如果我通过点击滚动并停止它,它会调用scrollViewDidEndDragging:和scrollViewDidEndDecelerating:
我希望它调用一个或另一个......我可以用 scrollViewDidEndDecelerating: 和 scrollView 对象来停止这个双重方法调用吗?