UIScrollView的用法

jopen 9年前發布 | 10K 次閱讀 iOS開發 移動開發 UIScrollView

UIScrollView
1. contentOffset
默認CGPointZero,用來設置scrollView的滾動偏移量。
// 設置scrollView的滾動偏移量
    scrollView.contentOffset = CGPointMake(0, 200);
2. contentSize
默認CGSizeZero,用來設置scrollView的滾動范圍。
// 設置scrollView的滾動范圍
    scrollView.contentSize = CGSizeMake( self.view.bounds.size.width, self.view.bounds.size.height * 2);


3. contentInset
默認UIEdgeInsetsZero,用來設置scrollView的額外滾動區域。
// 設置scrollView的額外頂部滾動區域:(UIEdgeInsetsMake是逆時針設置,上左下右)
    scrollView.contentInset = UIEdgeInsetsMake(100, 0, 0, 0);


4. bounces
默認為YES,用來設置scrollView的彈簧效果
// 取消scrollView的彈簧效果
    scrollView.bounces = NO;
5.pagingEnabled
默認為NO,用來設置scrollView是否開啟分頁.
// 開啟分頁
    scrollView.pagingEnabled = YES;
6.scrollEnabled
默認為YES,用來設置scrollView是否允許滾動.
// scrollView禁止滾動
    scrollView.scrollEnabled = NO;
7.showsHorizontalScrollIndicator
默認為YES,用來設置scrollView是否顯示水平滾動條.
// 隱藏水平滾動條
    scrollView.showsHorizontalScrollIndicator = NO;
8.showsVerticalScrollIndicator
默認為YES,用來設置scrollView是否顯示垂直滾動條.
// 隱藏垂直滾動條
    scrollView.showsVerticalScrollIndicator = NO;


9.minimumZoomScale


默認1.0,用來設置scrollView最少縮小比例.
// 設置scrollView允許子視圖的最大放大比例
    scrollView.maximumZoomScale = 2;


10.maximumZoomScale
默認1.0,用來設置scrollView最大放大比例.
// 設置scrollView允許子視圖的最小縮放比例
    scrollView.minimumZoomScale = 0.8;




11.delegate
類要遵守UIScrollViewDelegate協議
 
scrollView.delegate = self; 聲明scrollView的代理是我, 這個方法在UIScrollViewDelegate里所以我們要遵守UIScrollViewDelegate這個協議


11.1當scrollView的偏移量一改變就會調用這個方法,即滾動scrollView就會調用。

  • (void)scrollViewDidScroll:(UIScrollView *)scrollView;                                               
    11.2 當scrollView縮放時,就會調用這個方法
  • (void)scrollViewDidZoom:(UIScrollView *)scrollView NS_AVAILABLE_IOS(3_2); 


    11.3即將拖拽的時候調用.
  • (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;
    11.4 即將停止拖拽的時候調用
  • (void)scrollViewWillEndDragging:(UIScrollView )scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint )targetContentOffset NS_AVAILABLE_IOS(5_0);
    11.5 停止拖拽的時候調用。
  • (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate;


    11.6 即將減速完成的時候調用。
  • (void)scrollViewWillBeginDecelerating:(UIScrollView *)scrollView;   
    11.7 減速完成的時候調用
  • (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView;     






    11.8 返回需要縮放哪個視圖,這個視圖必須是scrollView里的子視圖。
  • (UIView )viewForZoomingInScrollView:(UIScrollView )scrollView;


    // 列如:
  • (UIView )viewForZoomingInScrollView:(UIScrollView )scrollView
    {
    return scrollView.subviews[0];
    }


    11.9 scrollView即將開始縮放
  • (void)scrollViewWillBeginZooming:(UIScrollView )scrollView withView:(UIView )view NS_AVAILABLE_IOS(3_2); 
    11.10 scrollView完成縮放
  • (void)scrollViewDidEndZooming:(UIScrollView )scrollView withView:(UIView )view atScale:(float)scale; 
    11.11沒有開啟分頁的時候,代理方法調用順序:
    scrollViewWillBeginDragging–>scrollViewDidScroll->scrollViewWillEndDragging->scrollViewDidEndDragging


    11.12 開啟分頁的時候,代理方法調用順序
    scrollViewWillBeginDragging ->scrollViewDidScroll ->scrollViewDidEndDragging ->scrollViewWillBeginDecelerating ->scrollViewDidScroll ->scrollViewDidEndDecelerating


    12.directionalLockEnabled
    指定控件是否只能在一個方向上滾動


    13.decelerationRate
    改變scrollerView的減速點位置
  • tracking  
    監控當前目標是否正在被跟蹤
  • dragging 
    改變scrollerView的減速點位置                         
  • delaysContentTouches


    控制視圖是否延時調用開始滾動的方法         
  • canCancelContentTouches 
    控制控件是否接觸取消touch的事件 
    18.indicatorStyle
    設定滾動條的樣式
    19.decelerating
    監控當前目標是否正在減速
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!