2010-02-03 71 views
0

我想知道如果有某種方式,我可以使用三個觸摸與UIScrollView。我最終想要的是讓UIScrollView只傳遞一個UITouch(或者至少認爲它只有一次觸摸),但是有三次觸摸。我想使用讓我們說中指或找到三個觸摸的平均值(x,y),並使用該(x,y)作爲我的單觸發送到UIScrollView。如果有人知道或有任何想法我可以做到這一點,那麼請儘可能上傳一些代碼。使用UIScrollView 3觸摸不是一個

+0

UIScrollView類被寫入用一根手指滾動並用兩根手指縮放。我不認爲有可能改變這種行爲。你所要求的可能會要求你編寫自己的自定義滾動視圖實現來獲得你想要的行爲。 – Jasarien 2010-02-03 14:17:30

回答

3

如果您放下三個手指,UIScrollView將不會滾動,因此您不必擔心禁用默認行爲。要用三根手指滾動它,請使用正常的觸摸功能獲得平均值,然後使用- (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated自動滾動。

+0

在iPad上,三個觸摸默認會滾動一個UIScrollView。 – 2012-11-10 17:33:53

0

您可以通過繼承UIScrollView來實現您的想法,然後在touchedBegan/Moved/Ended中實現不同的行爲,修改觸摸並在需要時將它們傳遞給超類。

我個人認爲你不應該引入複雜的手勢。大多數人已經有兩個手指手勢的問題。我花了一年的時間才發現Maps.app中的兩個手指點擊也做了縮放。 (也許我很愚蠢)