2012-01-24 80 views
0
UILongPressGestureRecognizer *longPressOnUndoGesture = [[UILongPressGestureRecognizer alloc] 
    initWithTarget:self 
    action:@selector(handleLongPressOnUndoGesture:)]; 
    [longPressOnUndoGesture setMinimumPressDuration:2.0]; 
    [longPressOnUndoGesture release]; 

我有上面的代碼deasctivate在我的應用autoscroll計時器這是這個功能。UILongPressGesture iphone iphone sdk

-(void) handleLongPressOnUndoGesture:(UILongPressGestureRecognizer*)recognizer { 
    [autoscrollTimer invalidate]; 

} 

但是當我taptohold 2秒鐘它不會停止timer.is在我的代碼中有任何錯誤的手勢。 在此先感謝。

回答

3

您沒有使用手勢識別器,因爲您在創建手勢時立即將其釋放。你必須將其附加到這樣一個觀點:

UILongPressGestureRecognizer *longPressOnUndoGesture = [[UILongPressGestureRecognizer alloc] 
initWithTarget:self 
action:@selector(handleLongPressOnUndoGesture:)]; 
[longPressOnUndoGesture setMinimumPressDuration:2.0]; 

// TRICK HERE 
[self.view addGestureRecognizer:longPressUndoGesture]; 

[longPressOnUndoGesture release]; 
+0

我的天啊,非常感謝。 – stackiphone

+0

如果有幫助,你可以請upvote&accept。謝謝。 – 2012-01-24 09:31:37

2

在我看來,你是不是加入了手勢識別到視圖它應該工作在:

[self.view addGestureRecognizer: longPressOnUndoGesture]; 

(如果self是你的控制器)。