iOS如何计算滚动条的拇指位置和范围?

问题描述:

最近我比较了Android和iOS之间滚动条中拇指的行为。我发现了以下:iOS如何计算滚动条的拇指位置和范围?

  1. 有两种类型的计算拇指Android的偏移和程度(由android:smoothScrollbar属性或setSmoothScrollbarEnabled方法控制)。
  2. 如果smoothScrollbarfalse,滚动时拇指看起来不连续。
  3. 如果smoothScrollbartrue,拇指看起来很平滑,但是如果项目的高度不同,则滚动的程度会有所不同。
  4. 但是,iOS中的拇指好多了。它看起来很平滑,程度不会改变。

在Android中,计算偏移量和范围的方法可以在AbsListView中找到。但是,我不知道这些值是如何在iOS中编译的。谁能帮忙?

对于内容偏移,请使用self.scrollView.contentOffset
对于帧值(包括宽度),请使用self.scrollView.frame.size.(<>); [width, height],self.scrollview.bounds;self.scrollview.frame.origin.(<>); [x,y]

如果您想要收到滚动事件的通知,请成为滚动视图的代表。

编辑

这里是委托方法:

响应滚动和拖动

– scrollViewDidScroll: 
– scrollViewWillBeginDragging: 
– scrollViewWillEndDragging:withVelocity:targetContentOffset: 
– scrollViewDidEndDragging:willDecelerate: 
– scrollViewShouldScrollToTop: 
– scrollViewDidScrollToTop: 
– scrollViewWillBeginDecelerating: 
– scrollViewDidEndDecelerating: 

管理缩放

– viewForZoomingInScrollView: 
– scrollViewWillBeginZooming:withView: 
– scrollViewDidEndZooming:withView:atScale: 
– scrollViewDidZoom: 

响应滚动动画

– scrollViewDidEndScrollingAnimation: 
+0

感谢您的回复。你知道你提到的这些方法的实现吗?谢谢。 – XWang 2012-02-09 08:37:24