UISrollView,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 *)scrollViewwithVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset NS_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
監控當前目標是否正在減速