UIScrollView的滚动,停止(UIScrollViewDelegate)

UIScrollView的滚动,停止(UIScrollViewDelegate)

在使用UIScrollView和它的子类UITableView时,有时需要在不同操作状态下,做不同的响应。

如何截获这些状态,如正在滚动,滚动停止等,使用UIScrollViewDelegate_Protocol

@interface SampleClass: UITableViewController<UIScrollViewDelegate> {

}

@end

@implement SampleClass

#pragma mark –
#pragma mark UIScrollViewDelegate

// 触摸屏幕来滚动画面还是其他的方法使得画面滚动,皆触发该函数
– (void)scrollViewDidScroll:(UIScrollView *)scrollView {
NSLog(@”Scrolling…”);
}

// 触摸屏幕并拖拽画面,再松开,最后停止时,触发该函数
– (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {
NSLog(@”scrollViewDidEndDragging  –  End of Scrolling.”);
}

// 滚动停止时,触发该函数

– (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
NSLog(@”scrollViewDidEndDecelerating  –   End of Scrolling.”);
}

// 调用以下函数,来自动滚动到想要的位置,此过程中设置有动画效果,停止时,触发该函数

// UIScrollView的setContentOffset:animated:

// UIScrollView的scrollRectToVisible:animated:

// UITableView的scrollToRowAtIndexPath:atScrollPosition:animated:

// UITableView的selectRowAtIndexPath:animated:scrollPosition:

– (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView {
NSLog(@”scrollViewDidEndScrollingAnimation  –   End of Scrolling.”);
}

@end

anyShare分享到: