1. 程式人生 > >iOS開發總結之UIScrollView主要屬性

iOS開發總結之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 *)scrollViewNS_AVAILABLE_IOS(3_2);

11.3 即將拖拽的時候呼叫.

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView;

11.4 即將停止拖拽的時候呼叫

- (void)scrollViewWillEndDragging:(UIScrollView *)scrollViewwithVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffsetNS_AVAILABLE_IOS(5_0);

11.5 停止拖拽的時候呼叫。

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollViewwillDecelerate:(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 *)scrollViewwithView:(UIView *)viewNS_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的減速點位置

14. tracking 

監控當前目標是否正在被跟蹤

15. dragging 

改變scrollerView的減速點位置                        

16. delaysContentTouches

控制檢視是否延時呼叫開始滾動的方法         

17. canCancelContentTouches 

控制控制元件是否接觸取消touch的事件 

18. indicatorStyle

設定滾動條的樣式

19. decelerating

監控當前目標是否正在減速