滾動+縮放動畫
//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;