常用代理方法
scrollViewDidScroll:
滚动视图滚动时使用scrollViewDidEndDecelerating:
滚动视图停止滚动时使用viewForZoomingInScrollView:
缩放视图时使用
协议方法
滚动相关方法
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
NSLog(@"%s", __FUNCTION__);
}
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView {
NSLog(@"%s", __FUNCTION__);
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
NSLog(@"%s", __FUNCTION__);
}
缩放相关方法
#pragma mark - 缩放相关代理方法
- (void)scrollViewDidZoom:(UIScrollView *)scrollView {
NSLog(@"%s", __FUNCTION__);
}
- (nullable UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
return _imageView;
}
- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(nullable UIView *)view {
NSLog(@"%s", __FUNCTION__);
}
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(nullable UIView *)view atScale:(CGFloat)scale {
NSLog(@"%s", __FUNCTION__);
}
拖拽相关方法
#pragma mark - 拖拽相关代理方法 - 与缩放方法不能共存
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
NSLog(@"%s", __FUNCTION__);
}
- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset {
NSLog(@"%s", __FUNCTION__);
}
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {
NSLog(@"%s %d", __FUNCTION__, decelerate);
}
状态栏相关方法
#pragma mark - 状态栏相关方法
- (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView {
NSLog(@"%s", __FUNCTION__);
return YES;
}
- (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView {
NSLog(@"%s", __FUNCTION__);
}
动画相关方法
#pragma mark - 动画相关方法
/**
The scroll view calls this method at the end of its implementations of the setContentOffset:animated: and scrollRectToVisible:animated: methods, but only if animations are requested.
滚动视图会在实现了 setContentOffset:animated: & scrollRectToVisible:animated: 方法之后
调用此方法
同时必须在上述两个方法中允许动画
*/
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView {
NSLog(@"%s", __FUNCTION__);
}