我正在製作一個應用程序,當屏幕被點擊或觸摸特定次數時,它必須保存屏幕,如屏幕截圖。我已經嘗試了其他用戶提出的與我的問題相關的所有解決方案,但沒有任何幫助...如何在屏幕上觸摸特定次數後創建動作?
我將不勝感激所有建議。 :) 謝謝
我正在製作一個應用程序,當屏幕被點擊或觸摸特定次數時,它必須保存屏幕,如屏幕截圖。我已經嘗試了其他用戶提出的與我的問題相關的所有解決方案,但沒有任何幫助...如何在屏幕上觸摸特定次數後創建動作?
我將不勝感激所有建議。 :) 謝謝
以下博客文章很好地解釋了識別連續多個水龍頭(並解釋缺點)的內置選項:Detecting tap and double-tap with Gesture Recognizers。
如果你需要比由內置手勢識別提供更加個性化的邏輯,你要麼被執行的UIGestureRecognizer
自己的自定義子類,你會加入你的邏輯成UIViewController
,UIView
等方面的UIResponder
(超)輕敲輸入的回調:touchesBegan:withEvent:
,touchesMoved:withEvent:
和touchesEnded:withEvent:
。
我對後一種方法有更多的經驗(不是UIGestureRecognizer
)。傳遞給各種UIResponder
回調的事件都包含有關觸摸位置和觸摸時間的信息。您可以將此信息與NSTimer
結合使用,以確定用戶是否在特定時間內點擊兩次(或更多次)。如果定時器在第二次(或第二次觸摸)之前觸發,則可以將其視爲單次觸摸事件。
我不知道這是否是最好的方式來做到這一點,但它肯定比內置的UIGestureRecognizer
更爲細化控制。
只是要清楚,你是在談論多個水龍頭(即雙擊,三擊等),而不是多個手指同時觸摸屏幕(即兩指水龍頭,三指水龍頭等) 。)? – Mathew 2013-02-09 20:40:16
我的意思是,例如,您點擊屏幕10次,然後屏幕保存 – parisianastro97 2013-02-09 21:16:41
然後,除非您需要對1-9點觸摸事件進行非常時間敏感的分析,否則「UITapGestureRecognizer」應該適合您。請參閱我在答案中鏈接到的文章以及該手勢識別器的Apple文檔。它有一個方法可以讓你設置後面觸發的水龍頭的數量。 – Mathew 2013-02-09 21:28:34