2012-07-30 96 views
0

我有一個UIScrollView包含幾個UIButtons。當用戶輸入一個觸摸事件時,每個按鈕都會被連接起來以便進行操作,這樣他們就能夠將手指放在按鈕上,直到它被擡起時纔會被選中。目前,如果我做了一個滑動手勢來快速滾動UIScrollView,那麼即使手勢直接發生在UIButton上,滾動視圖也會按預期方式移動。但是,如果我在UIButton(大約1秒)內按住我的手指太長時間,UIScrollView將不再識別該手勢,並且在手指擡起之前將無法滾動。如何從UIScrollView中的UIButton傳遞延遲滾動手勢?

我想知道如果他們是一種方式來總是讓UIScrollView識別滾動手勢?請注意,如果我在沒有UIButton的位置觸摸UiScrollView,則這不是問題 - 然後按預期滾動。

回答

0

它可能值得一試,讓你的UIButton迴應UIControlEventTouchDown(也許與一個空的行動)。我不確定這是否會起作用,但從概念上講,我認爲它應該讓UIButton立即捕捉觸摸。

(還要確保你不會在你的滾動視圖使delaysContentTouches

+0

其實,我需要它來響應UIControlEventTouchUp。我不希望按鈕立即作出響應,如果觸摸輸入變爲滾動事件,我希望取消按鈕事件。 – lehn0058 2012-07-31 00:44:43

+0

不,我的意思是,爲UIControlEventTouchDown放一個空的'IBAction'只是爲了劫持接觸發送到scrollview,然後在'UIControlEventTouchUp'中實現你想要的按鈕。 – aforaudrey 2012-07-31 15:12:41