
视图的滚动过程,其实是在不断修改原点坐标顺示船船计激始所。当手指触摸后,ScrollView会暂时拦截触摸事件,使用一个计时器。假如在计时器到点后没有地害再束罪清慢要发生手指移动事件,那么ScrollView发送tracking events到被点击的subView;若是在计时器到点后发生了移动事件,那么Scroll断活以到答何控View取消tracking自己促发滚动。
- 外文名称 ScrollView
- 所属分类 电子产品
基本原理
其子类可以重载
touchesShouldBegin: withEvent: inContent假爱些谁搞缩粮View: 决定自己是否接收touch事件。
pa真业南钟早纸扩济项写孙gingEnabled: 当值是YES会自动滚动到subView的边象易县流课语刻界,默认是NO。
touchesShouldCancelInContentVi来自ew: 开始发送tracking messages消息给subView的时候会调用这个方法。以决定是否发送tracking messages消息到subView。假如返回NO,发送。YES则不发送。若是canCancelContentTouches属性是NO,则不调用这个方法来影响如何处理滚动手势。
ScrollView还可处理缩放和平移手势,要实现这必须实现委托viewForZ武用鲁看章剂质理oomingInScrol延训敌审宗象lView:和scrollVi360百科ewDidEndZooming: withView: atScale:两个方法。另外maximumZoom械日李案于硫全Scale和minimu渐mZoomScale两个属性要不一样 。
常用属性
东优垂加江往讨适见 maximumZoomScale 能放大的面移免非校化角本重最大倍数,是浮点数。

minimumZoomSc氢题丰那呼ale 能缩小的最小倍数,是浮点数。
pagin威gEnabled 是否自动滚动到势余接化业湖跟错独subView边界
s觉相采喜呀crollEnabled 是否克跟云蛋述可以滚动
contentSize 里面内容的大小,即可以滚动的大小,默认是0,没有滚动效果
刚尔形 showsHorizontalScrollIndicator 滚动时是否显示水平滚动条
showsVerticalScrollIndicator 滚动时是否显示垂直滚动条
bounces 默认是YES,就是滚动超过边界会反弹,即有反弹回来的常乡社农父线占效果。若是NO,则滚伟将理争爱河维司货动到达边界会立刻停止
bouncesZoom 与bounces类似,只是反映在缩放效果上。
di光rectionalLockEnabled 默认是NO,可以在垂直和水平方向同时运动。当值是YES时,视哪个方向开始则锁定另外一个方向的滚动。
indicatorStyle 滚动条的样式。总共3色:默认、黑、白
scrollIndicatorInsets 设置滚动条位置
tracking 当touch后还没有拖动的时候是YES,否则NO
zoomBouncing 当内容放大到最大或者最小的时候值是YES,否则NO
zooming 当正在缩放的时候值是YES,否则NO
decelerating 当滚动后,手指放开但还在继续滚动中。此时是YES,其它时候都是NO
decelerationRate 设置手指放开后的减速率
使用方法
初始化
一般的控件初始化都是可以用alloc和init来初始化的。
UIScrollView *sv = [[UIScrollView alloc] initWithFrame:CGRectMake(0.0,0.0,self.view.frame.size.width, 400)];
来自关于控件添加与初始化,建议都采用代码调用合适的初始化方法来操作,虽然IB布局能够节省时间,但不能很好的了解整个代码执行流程。
委托方法
UIScrollView也要指定委托对象,该委托对象的控制器同样也要遵循UIScrollVi雨之呼批客棉总命ewDelegate协议,实现其相应的代理方法。
scrollViewDidScroll:
scroll春评图危计容家搞置ViewWillBe宣越记侵表势般ginDragging衣展免沉李:
scrollViewDidEndDragging:
scrollViewDidEndDecelerating:
属性汇总
android:scrollbars
设置道滚动条显示。none(隐藏),horizontal(水平),ver360百科tical(垂直)。
android:scrollbarFadeDuration
设置滚动条淡出效果(从有到慢慢的变淡直至消失)时间,以毫秒为单位。Android2.2中滚动条律印规赵读响座你滚动完之后会消失,再滚动又会出来,在1.5、1.6版本里面会一直显示着。
android:scrollbarSize
设置滚动条的守两及宽度。
android:scrollbarS保据有越tyle
设置滚动条的风格和位置。设置值:它土众零学insideOverlay、insideInset、outsideOverlay、outsideInset
android:scrollbarThumbHorizont你反菜额al
设置水平滚动条的drawable。
android:scrollbarThumbVertical
设置垂直滚动条的drawable.
零儿销混android:scrollbarTrackHorizontal
设置水平滚动条背景(轨迹)的色drawabl溶补造黄合想界及e
android:soundEffectsEnabled
设置点击或触摸时是否有声音效果