做视频小网站犯法吗,wordpress shopping,整站seo公司,seo领导屋在iOS编程中#xff0c;经常用到UIScrollView控件。自然也会用到UIScrollViewDelegate协议。
今天就抽空#xff0c;研究了一下UIScrollViewDelegate中所有的委托方法。
仅做Mark#xff01;如有#xff0c;错误之处#xff0c;欢迎留言指正#xff0c;交流#xff01;贴…在iOS编程中经常用到UIScrollView控件。自然也会用到UIScrollViewDelegate协议。
今天就抽空研究了一下UIScrollViewDelegate中所有的委托方法。
仅做Mark如有错误之处欢迎留言指正交流贴#pragma mark - UIScrollViewDelegate 委托//scrollView滚动时就调用该方法。任何offset值改变都调用该方法。即滚动过程中调用多次
- (void)scrollViewDidScroll:(UIScrollView *)scrollView{NSLog(scrollViewDidScroll);CGPoint pointscrollView.contentOffset;NSLog(%f,%f,point.x,point.y);// 从中可以读取contentOffset属性以确定其滚动到的位置。// 注意当ContentSize属性小于Frame时将不会出发滚动}// 当scrollView缩放时调用该方法。在缩放过程中回多次调用
- (void)scrollViewDidZoom:(UIScrollView *)scrollView{NSLog(scrollViewDidScroll);float valuescrollView.zoomScale;NSLog(%f,value);}// 当开始滚动视图时执行该方法。一次有效滑动开始滑动滑动一小段距离只要手指不松开只算一次滑动只执行一次。
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{NSLog(scrollViewWillBeginDragging);}// 滑动scrollView并且手指离开时执行。一次有效滑动只执行一次。
// 当pagingEnabled属性为YES时不调用该方法
- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset{NSLog(scrollViewWillEndDragging);}// 滑动视图当手指离开屏幕那一霎那调用该方法。一次有效滑动只执行一次。
// decelerate,指代当我们手指离开那一瞬后视图是否还将继续向前滚动一段距离经过测试decelerateYES
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate{NSLog(scrollViewDidEndDragging);if (decelerate) {NSLog(decelerate);}else{NSLog(no decelerate);}CGPoint pointscrollView.contentOffset;NSLog(%f,%f,point.x,point.y);}// 滑动减速时调用该方法。
- (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView{NSLog(scrollViewWillBeginDecelerating);// 该方法在scrollViewDidEndDragging方法之后。}// 滚动视图减速完成滚动将停止时调用该方法。一次有效滑动只执行一次。
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{NSLog(scrollViewDidEndDecelerating);[_scrollView setContentOffset:CGPointMake(0, 500) animated:YES];}// 当滚动视图动画完成后调用该方法如果没有动画那么该方法将不被调用
- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView{NSLog(scrollViewDidEndScrollingAnimation);// 有效的动画方法为// - (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated 方法// - (void)scrollRectToVisible:(CGRect)rect animated:(BOOL)animated 方法}// 返回将要缩放的UIView对象。要执行多次
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{NSLog(viewForZoomingInScrollView);return self.imgView;}// 当将要开始缩放时执行该方法。一次有效缩放就只执行一次。
- (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(UIView *)view{NSLog(scrollViewWillBeginZooming);}// 当缩放结束后并且缩放大小回到minimumZoomScale与maximumZoomScale之间后我们也许会超出缩放范围调用该方法。
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale{NSLog(scrollViewDidEndZooming);}// 指示当用户点击状态栏后滚动视图是否能够滚动到顶部。需要设置滚动视图的属性_scrollView.scrollsToTopYES;
- (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView{return YES;}// 当滚动视图滚动到最顶端后执行该方法
- (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView{NSLog(scrollViewDidScrollToTop);
}希望对你有所帮助