關於scrollView禁止慣性滑動與UIScrollView左右滾動判斷
{
if (decelerate)
{
dispatch_async(dispatch_get_main_queue(), ^{
printf("STOP IT!!\n");
[scrollView setContentOffset:scrollView.contentOffset animated:NO];
});
}
}
工作需要,需要實現UIScrollView左右拖動載入,
首先設定pageEnable=YES;
然後通過Delegate實現相關方法。
//將要開始拖拽,手指已經放在view上並準備拖動的那一刻
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{ //拖動前的起始座標
startContentOffsetX = scrollView.contentOffset.x;
}
- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset{ //將要停止前的座標
willEndContentOffsetX = scrollView.contentOffset.x;
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
endContentOffsetX = scrollView.contentOffset.x;
if (endContentOffsetX < willEndContentOffsetX && willEndContentOffsetX < startContentOffsetX) { //畫面從右往左移動,前一頁
} else if (endContentOffsetX > willEndContentOffsetX && willEndContentOffsetX > startContentOffsetX) {//畫面從左往右移動,後一頁
}
}
如上可判斷ScrollView是左移了還是右移了