私は自分用に小さなゲームを作っていて、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開始し、および/またはで停止するためのセレクターを追加できます。ユーザーの指がコントロール上にないときに停止することが心配な場合は、キャンセル イベントをフックすることもできます。UIControlEventTouchUpInsideUIControlEventTouchUpOutsideUIControlEventTouchDragExit
使用UIControl方法はaddTarget:action:forControlEvents:. 最後の引数はビットマスクであるため、1 行のコードですべてのキャンセル/停止シナリオを接続できることに注意してください。