2009-04-24 23 views

回答

8

好吧,我已經通過實現我自己的庫來捕獲UIScrollView的動態來回答這個問題。

我的代碼的有用之處在於它獨立於座標系,動畫速率和您正在使用的特定UI類。它可以很容易地嵌套在您選擇的自定義視圖類中。

iPhone的默認滑動滾動行爲很有趣。如果長時間握住手指並沿各種方向移動手指,則會看到只有最後一個方向用於計算滾動動作。但是,如果您嘗試自己構建此代碼,那麼您很快就會發現,僅使用最後兩個點來計算運動方向並不會削減它。相反,我的代碼保留了短暫的觸摸歷史記錄,並使用線性插值來確定觸摸「在某一小段時間之前會」的位置。這個內插點被用作計算運動矢量的基礎。這導致了非常愉快的交互。

該代碼在github上可用,在這裏:http://gist.github.com/100855。它是根據BSD許可證發佈的。

+0

你回答自己的問題 - 有一些相關的代碼 - 在2分鐘內提問?這是很有意思的代碼! – 2009-04-24 01:46:10

+0

是的,我不知道如果這是堆棧溢出猶太教,但因爲我發現我不是唯一尋找它,我認爲這將有幫助嗎?有更好的論壇嗎? – 2009-04-24 06:24:18

0

那麼UIScrollView不適合你嗎?那類是非常靈活......

0

戴夫,我看到你answerd你自己的問題了一些代碼,但不設置下面給你所需要的:

myScrollView.bounces = YES; 
myScrollView.pagingEnabled = YES; 
myScrollView.directionalLockEnabled = YES; 

具體而言,聽起來像你已經重新實現directionLockEnabled。也許理解你爲什麼不能使用UIScrollView是更有趣的問題:-)

0

這很酷!我在一個應用程序中使用它,在這個應用程序中,我的可滾動視圖是1902-2037範圍內的一天圖形數據,所以UIScrollView效率不高。

相關問題