我使用以下兩種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