2012-02-09 97 views
1

最近我比較了Android和iOS之間滾動條中拇指的行爲。我發現了以下:iOS如何計算滾動條的拇指位置和範圍?

  1. 有兩種類型的計算拇指Android的偏移和程度(由android:smoothScrollbar屬性或setSmoothScrollbarEnabled方法控制)。
  2. 如果smoothScrollbarfalse,滾動時拇指看起來不連續。
  3. 如果smoothScrollbartrue,拇指看起來很平滑,但是如果項目的高度不同,則滾動的程度會有所不同。
  4. 但是,iOS中的拇指好多了。它看起來很平滑,程度不會改變。

在Android中,計算偏移量和範圍的方法可以在AbsListView中找到。但是,我不知道這些值是如何在iOS中編譯的。誰能幫忙?

回答

1

對於內容偏移,請使用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