2013-06-12 36 views
0

我在水平滾動視圖中添加了垂直滑動。這個位可以正常工作,但是我想在suer接觸到滾動視圖上方和下方時點亮目標,以指示向上或向下滑動會導致行動。在uiscrollview中檢測toucesbegan

我該如何做到最好?

使用敲擊探測器不會將其切斷,因爲只有在手指擡起時纔會觸發。

使用具有短射擊延遲的longpress探測器也不起作用,因爲它似乎禁用所有其他手勢識別器。

回答

0

格兒......爲什麼這總是發生 - 你放棄剛過,答案來了!

是的,longpress檢測器是檢測手勢開始和結束的方法,但是您需要在合適的對象中實現UIGestureRecognizerDelegate協議,並將其設置爲所有手勢識別器的委託,然後實現此方法:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer { 
    return YES; 
} 

這使得longpress檢測器不會覆蓋所有其他手勢識別器。

1

你也可以繼承的UIScrollView並重寫這些方法:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event; 
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event; 
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event; 
+0

很好的答案,但我發現一個稍微少一點的工作,我認爲...見下文。 –