2013-02-09 10 views
0

我正在製作一個應用程序,當屏幕被點擊或觸摸特定次數時,它必須保存屏幕,如屏幕截圖。我已經嘗試了其他用戶提出的與我的問題相關的所有解決方案,但沒有任何幫助...如何在屏幕上觸摸特定次數後創建動作?

我將不勝感激所有建議。 :) 謝謝

+1

只是要清楚,你是在談論多個水龍頭(即雙擊,三擊等),而不是多個手指同時觸摸屏幕(即兩指水龍頭,三指水龍頭等) 。)? – Mathew 2013-02-09 20:40:16

+0

我的意思是,例如,您點擊屏幕10次,然後屏幕保存 – parisianastro97 2013-02-09 21:16:41

+0

然後,除非您需要對1-9點觸摸事件進行非常時間敏感的分析,否則「UITapGestureRecognizer」應該適合您。請參閱我在答案中鏈接到的文章以及該手勢識別器的Apple文檔。它有一個方法可以讓你設置後面觸發的水龍頭的數量。 – Mathew 2013-02-09 21:28:34

回答

0

以下博客文章很好地解釋了識別連續多個水龍頭(並解釋缺點)的內置選項:Detecting tap and double-tap with Gesture Recognizers

如果你需要比由內置手勢識別提供更加個性化的邏輯,你要麼被執行的UIGestureRecognizer自己的自定義子類,你會加入你的邏輯成UIViewControllerUIView等方面的UIResponder(超)輕敲輸入的回調:touchesBegan:withEvent:,touchesMoved:withEvent:touchesEnded:withEvent:

我對後一種方法有更多的經驗(不是UIGestureRecognizer)。傳遞給各種UIResponder回調的事件都包含有關觸摸位置和觸摸時間的信息。您可以將此信息與NSTimer結合使用,以確定用戶是否在特定時間內點擊兩次(或更多次)。如果定時器在第二次(或第二次觸摸)之前觸發,則可以將其視爲單次觸摸事件。

我不知道這是否是最好的方式來做到這一點,但它肯定比內置的UIGestureRecognizer更爲細化控制。

相關問題