我正在開發一個應用程序,其中我使用的屏幕之一有tableview,它是tableview控制器。我已經寫了自定義的touchesBegan,touchesmoved,touchesended方法insside一個的tableview控制器類,當任一單元格的touchesBegan方法有史以來用戶按下呼喚和withing這個檢測長按我所做的就是willSelectRowAtIndexPath,didSelectRowAtIndexPath在iPhone中使用觸摸開始方法和執行選擇器時不會調用
[self performSelector:@selector(longTap) withObject:nil afterDelay:1.0];
如果用戶刪除他的手指在1秒之前,在touchesmoved
和touchesended
方法我取消performselector
。
現在發生什麼事情是當我按&保持1分鐘longTap
方法正在呼叫和willSelectRowAtIndexPath
,didselectRowAtIndexPath
不呼叫。但是我需要在對longTap
方法執行任何操作之前獲取indexpath.row值。
任何人都可以幫助我解決這個問題。請分享您的寶貴建議。
在此先感謝。
謝謝你的回覆Peylow,絕對我會嘗試這個,我想通過另一種方式。我所做的是在接觸開始方法給予執行選擇器後延遲(1.0)秒,並在按住1秒後調用longTap方法,在longTap方法內我有一個布爾變量設置爲YES並且在該方法中不執行任何操作,然後立即選擇了tableiview的方法,在此我調用了bool變量並執行了所需的操作。之前的阻塞元素是UIAlertview。 – 2011-05-16 12:05:03