iphone UIScrollView详解(转)

scroll view 原理

    滚动过程当中,其是在修改原点坐。当手指触摸后, scroll view暂时拦截触摸事件,使用一个计时器。假如在计时器到点后没有发生手指移事件,那么 scroll view 发送tracking events 到被点 subview。假如在计时器到点前发生了移事件,那么scroll view 取消 tracking 自己滚动

    可以重

touchesShouldBegin:withEvent:inContentView: 决定自己是否接收 touch 事件
pagingEnabled:当 YES 会自动滚动 subview 边界,默NO
touchesShouldCancelInContentView: 开始 tracking messages 消息subview 个方法,决定是否 tracking messages 消息到subview。假如返回NO送。YES 送。假如canCancelContentTouches属性是NO个方法来影响如何滚动手势

    scroll view 还处缩放和平移手,要实现缩放和平移,必须实现委托viewForZoomingInScrollView:scrollViewDidEndZooming:withView:atScale:
两个方法。另外maximumZoomScaleminimumZoomScale 两个属性要不一

几个属性介

tracking
 touch 没有拖YES,否NO

zoomBouncing
当内容放大到最大或者最小的时候值 YES,否NO

zooming
当正在缩放时候值 YES,否 NO

decelerating
滚动后,手指放开但是继续滚动中。时候 YES,其它候是 NO

decelerationRate
置手指放开后的减速率

maximumZoomScale
一个浮点数,表示能放最大的倍数

minimumZoomScale 
一个浮点数,表示能最小的倍数

pagingEnabled
 YES 会自动滚的那个到 subview 界。默NO

scrollEnabled
决定是否可以滚动

delaysContentTouches
是个布尔值,当 YES 时候,用触碰开始,scroll view要延一会,看看是否用有意图滚动。假如滚动了,那么捕捉 touch-down 事件,否就不捕捉。假如NO,当用触碰, scroll view会立即触touchesShouldBegin:withEvent:inContentView:,默 YES

canCancelContentTouches
 YES 时候,用触碰后,然后在一定时间内没有移scrollView  tracking events,然后用手指足够长度触发滚动事件,候,scrollView 送了 touchesCancelled:withEvent: subview,然后 scroView 开始滚动。假如 NOscrollView 发送tracking events 后,就算用手指,scrollView 也不会滚动

contentSize
里面内容的大小,也就是可以滚动的大小,默0,没有滚动效果。

showsHorizontalScrollIndicator
滚动时是否示水平滚动

showsVerticalScrollIndicator
滚动时是否示垂直滚动

bounces
 yes,就是滚动过边界会反有反回来的效果。假如是NO,那么滚动到达界会立刻停止。

bouncesZoom
 bounces 类似,在于:这个效果反映在放上面,假如缩放最大缩放,那么会反效果;假如是NO到达最大或者最小的候立即停止。

directionalLockEnabled
 NO,可以在垂直和水平方向同。当YES ,假如一开始是垂直或者是水平运,那么接下来会锁定另外一个方向的滚动 假如一开始是对角方向滚动不会禁止某个方向

indicatorStyle
滚动条的样式,基本只是设置颜色3颜色:默、黑、白

scrollIndicatorInsets
设置滚动条的位置

原文地址:https://www.cnblogs.com/zhwl/p/2288927.html