2012-04-12 77 views
0

用我目前的桌面視圖控制器,我想實現一個觸摸並保持功能,非常類似於點擊輪iPod的On-The-Go排隊功能。檢測觸摸並按住UITableViewCell,我的選擇是什麼?

我一直在閱讀一些帖子,並已看到使用UILongPressGestureRecognizer的建議。雖然我能做到這一點,它確實帶來了一對夫婦更多的問題對我來說:

  1. 如果檢測到長按,我怎麼可以防止所謂的 didSelectRowAtIndexPath方法(或者我 完全避免使用它並實現點擊手勢識別器在 我的UITableViewCell子類?)
  2. 我怎麼會去動畫細胞一旦長按已 檢測到類似iPod風格(其中突出顯示單元 閃爍/高光的透明度變上下幾次)。

希望能得到一些指導。

回答

1

如果您使用長按識別器,並且它會觸發,didSelectRowAtIndexPath將不會觸發。

您可以檢測到手勢識別器的狀態,並在檢測到「開始」狀態後爲您的單元格設置動畫,並在檢測到「結束」狀態時結束動畫。

如果(gestureRecognizer.state == UIGestureRecognizerStateBegan)... 如果(gestureRecognizer.state == UIGestureRecognizerStateEnded)...

+0

有沒有一種方法我可以禁用從開始到端滾動? – sooper 2012-04-12 22:13:38

+0

我相信這是默認行爲。試試吧,讓我們知道!如果不是,則實現手勢識別器委託方法'shouldRecognizeSimultaneouslyWithGestureRecognizer:'返回NO,它將阻止滾動視圖的手勢識別器。 – samson 2012-04-14 20:32:58