2014-02-11 37 views
0

我有一個UIScrollView,其'bounces'屬性設置爲YES。 當contentOffset移過屏幕頂部時,我會顯示一個與郵件程序非常類似的動畫活動指示符。有沒有辦法在iOS中打斷一個活動的UITouch

如果在某個點我可以模仿用戶擡起手指 - 從字面上取消gestureReconizer中的觸摸並強制touchesEnded,那將會很好。

在iOS中,是否有辦法中斷活動觸摸並完全取消,或者可能將其全部取消或將其傳遞到任何地方或視圖,而這些視圖將悄悄地不響應?這是一個活躍的UITouch。在手指觸摸屏幕之前,大多數(如果不是所有的話)都是這樣設置的。在這種情況下它們不起作用。

我尋找直接取消UITouches的方法,完全取消了用戶交互,甚至試圖直接以活動的滾動視圖的方式直接移動視圖,但沒有任何效果。

有沒有辦法做到這一點,或者它是由蘋果的神可怕嗎?

回答

1

您是使用任何自定義手勢識別器還是僅使用常規的scrollview行爲?

取消手勢識別器的一種方法是禁用並再次啓用它。

gesture.enabled = NO; 
gesture.enables = YES; 

如果您在使用常規的滾動型行爲,我建議同樣的方法,但在userInteractionEnabled財產去

scrollView.userInteractionEnabled = NO; 
scrollView.userInteractionEnabled = YES; 

或許:

scrollView.scrollEnabled = NO; 
scrollView.scrollEnabled = YES; 
+0

從我所進行的測試這些屬性都需要在觸摸開始之前設置。我現在正在學習的是,我在啓蒙運動的錯誤道路上,我需要繼承:http://stackoverflow.com/questions/1685956/uiscrollview-touchesbegan/17759373#17759373 – NFG

+0

不,如果你禁用了手勢,在觸摸過程中進行滾動或交互並將其重新啓用時,觸摸將被取消。 – manecosta

+0

我現在就來測試一下。 – NFG

相關問題