iOS如何计算滚动条的拇指位置和范围?
问题描述:
最近我比较了Android和iOS之间滚动条中拇指的行为。我发现了以下:iOS如何计算滚动条的拇指位置和范围?
- 有两种类型的计算拇指Android的偏移和程度(由android:smoothScrollbar属性或setSmoothScrollbarEnabled方法控制)。
- 如果
smoothScrollbar
是false
,滚动时拇指看起来不连续。 - 如果
smoothScrollbar
是true
,拇指看起来很平滑,但是如果项目的高度不同,则滚动的程度会有所不同。 - 但是,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:
感谢您的回复。你知道你提到的这些方法的实现吗?谢谢。 – XWang 2012-02-09 08:37:24