我使用以下两种UIScrollView的委托方法调用在我的UIViewController另一种方法:UIScrollView的委托方法发生冲突
-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
// do something
}
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{
// 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对象来停止这种双重方法调用?
你可以对你想要什么更加清楚一点? –
如果你没有任何复杂的事情,你不能只是尝试'scrollViewDidScroll'方法吗? – visakh7
scrollViewDidScroll太重了。我已经发布了下面的解决方案。我基本上需要一种方法来在滚动停止时自然减速或者当用户停止拖动操作时触发。 – mootymoots