私は自分用に小さなゲームを作っていて、UIButton
が押された 0.1 秒ごとに void が発生するようにします (たとえば、ボタンが 0.7 秒間押された場合、void はその時間枠内で 7 回発生します)。
これは UIButton で可能ですか、それともタッチを検出するサブビューを作成する必要がありますか? UIButton
サブビューを使用する場合、押された 0.1 秒ごとにメソッドを起動するにはどうすればよいですか?
私は自分用に小さなゲームを作っていて、UIButton
が押された 0.1 秒ごとに void が発生するようにします (たとえば、ボタンが 0.7 秒間押された場合、void はその時間枠内で 7 回発生します)。
これは UIButton で可能ですか、それともタッチを検出するサブビューを作成する必要がありますか? UIButton
サブビューを使用する場合、押された 0.1 秒ごとにメソッドを起動するにはどうすればよいですか?
NSTimerの刻みを 0.1 秒間隔でUIControlEventTouchDown
開始し、および/またはで停止するためのセレクターを追加できます。ユーザーの指がコントロール上にないときに停止することが心配な場合は、キャンセル イベントをフックすることもできます。UIControlEventTouchUpInside
UIControlEventTouchUpOutside
UIControlEventTouchDragExit
使用UIControl
方法はaddTarget:action:forControlEvents:
. 最後の引数はビットマスクであるため、1 行のコードですべてのキャンセル/停止シナリオを接続できることに注意してください。