滚动+缩放动画
//scrollView滚动时,就调用该方法。任何offset值改变都调用该方法。即滚动过程当中,调用屡次 - (void)scrollViewDidScroll:(UIScrollView *)scrollView{ NSLog(@"%f", scrollView.contentOffset.x); } ' //缩放时调用,调用屡次 - (void)scrollViewDidZoom:(UIScrollView *)scrollView{ NSLog(@"%f", scrollView.zoomScale); }
======================================================================代理
滑动code
//开始拖动scrollView的时候被调用 - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView; ' //在didEndDragging 前被调用, // velocity == CGPointZero(结束拖动时两个方向都没有速度),didEndDragging 中的decelerate为 NO,即没有减速过程,不会调用减速代理方法 //targetContentOffset:减速运动目的地 - (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset ' //滑动结束时 - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate;
======================================================================对象
减速(decelerating)动画ci
滑动结束后会有减速过程。注:在 didEndDragging 以后,若是有减速过程,scrollView的 dragging属性(滑动中)并不会当即置为 NO,而是要等到减速结束以后。get
特殊状况:当一次减速动画还没有结束的时候再次滑动,scrollViewDidEndDecelerating: 不会被调用。新的 dragging 若是有加速度,那么 willBeginDecelerating 会再一次被调用it
//减速动画开始前 - (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView; ' //减速动画结束时 - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView;
滑动动做完了io
//当滚动视图动画完成后,调用该方法,若是没有动画,那么该方法将不被调用 // 有效的动画方法为: // - (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated // - (void)scrollRectToVisible:(CGRect)rect animated:(BOOL)animated 方法 - (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView;
======================================================================scroll
缩放方法
//返回将要缩放的UIView对象,执行屡次 - (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView; ' //开始缩放时 - (void)scrollViewWillBeginZooming:(UIScrollView *)scrollView withView:(nullable UIView *)view ' //缩放结束后,在minimumZoomScale与maximumZoomScale之间 - (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(nullable UIView *)view atScale:(CGFloat)scale;
======================================================================
点击状态栏,滚动到顶部
//指示当用户点击状态栏后,滚动视图是否可以滚动到顶部 - (BOOL)scrollViewShouldScrollToTop:(UIScrollView *)scrollView; ' //当滚动视图滚动到最顶端后,执行该方法 - (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView;