屬性 | 作用 |
---|---|
CGPoint contentOffSet | 監(jiān)控目前滾動(dòng)的位置 |
CGSize contentSize | 滾動(dòng)范圍的大小 |
UIEdgeInsets contentInset | 視圖在scrollView中的位置 |
id<UIScrollerViewDelegate> | ScrollerViewDelegate |
delegate | 設(shè)置協(xié)議 |
BOOL directionalLockEnabled | 指定控件是否只能在一個(gè)方向上滾動(dòng) |
BOOL bounces | 控制控件遇到邊框是否反彈 |
BOOL alwaysBounceVertical | 控制垂直方向遇到邊框是否反彈 |
BOOL alwaysBounceHorizontal | 控制水平方向遇到邊框是否反彈 |
BOOL pagingEnabled | 控制控件是否整頁(yè)翻動(dòng) |
BOOL scrollEnabled | 控制控件是否能滾動(dòng) |
BOOL showsHorizontalScrollIndicator | 控制是否顯示水平方向的滾動(dòng)條 |
BOOL showsVerticalScrollIndicator | 控制是否顯示垂直方向的滾動(dòng)條 |
UIEdgeInsets scrollIndicatorInsets | 指定滾動(dòng)條在scrollerView中的位置 |
UIScrollViewIndicatorStyle indicatorStyle | 設(shè)定滾動(dòng)條的樣式 |
float decelerationRate | 改變scrollerView的減速點(diǎn)位置 |
BOOL tracking | 監(jiān)控當(dāng)前目標(biāo)是否正在被跟蹤 |
BOOL dragging | 監(jiān)控當(dāng)前目標(biāo)是否正在被拖拽 |
BOOL decelerating | 監(jiān)控當(dāng)前目標(biāo)是否正在減速 |
BOOL delaysContentTouches | 控制視圖是否延時(shí)調(diào)用開(kāi)始滾動(dòng)的方法 |
BOOL canCancelContentTouches | 控制控件是否接觸取消touch的事件 |
float minimumZoomScale | 縮小的最小比例 |
float maximumZoomScale | 放大的最大比例 |
float zoomScale | 設(shè)置變化比例 |
BOOL bouncesZoom | 控制縮放的時(shí)候是否會(huì)反彈 |
BOOL zooming | 判斷控件的大小是否正在改變 |
BOOL zoomBouncing | 判斷是否正在進(jìn)行縮放反彈 |
BOOL scrollsToTop | 控制控件滾動(dòng)到頂部 |
這里把UIScrollView的幾個(gè)要點(diǎn)總結(jié)下:
-
從你的手指touch屏幕開(kāi)始,scrollView開(kāi)始一個(gè)timer,如果:
- 150ms內(nèi)如果你的手指沒(méi)有任何動(dòng)作,消息就會(huì)傳給subView。
- 150ms內(nèi)手指有明顯的滑動(dòng)(一個(gè)swipe動(dòng)作),scrollView就會(huì)滾動(dòng),消息不會(huì)傳給subView,這里就是產(chǎn)生問(wèn)題二的原因。
- 150ms內(nèi)手指沒(méi)有滑動(dòng),scrollView將消息傳給subView,但是之后手指開(kāi)始滑動(dòng),scrollView傳送touchesCancelled消息給subView,然后開(kāi)始滾動(dòng)。
觀察下tableView的情況,你先按住一個(gè)cell,cell開(kāi)始高亮,手不要放開(kāi),開(kāi)始滑動(dòng),tableView開(kāi)始滾動(dòng),高亮取消。
- delaysContentTouches的作用:
這個(gè)標(biāo)志默認(rèn)是YES,使用上面的150ms的timer,如果設(shè)置為NO,touch事件立即傳遞給subView,不會(huì)有150ms的等待。
- cancelsTouches的作用:
這個(gè)標(biāo)準(zhǔn)默認(rèn)為YES,如果設(shè)置為NO,這消息一旦傳遞給subView,這scroll事件不會(huì)再發(fā)生。