ボタンを押し続けた結果、一連のイベントを起動する必要があることがよくあります。フィールドをインクリメントするボタンを考えてみ+
てください。タップすると 1 ずつインクリメントされますが、タップ アンド ホールドは、ボタンが離されるまで毎秒 1 ずつインクリメントする必要があります。もう 1 つの例は、オーディオ プレーヤー タイプのアプリで戻るボタンまたは進むボタンを押したときのスクラブ機能です。
私は通常、次の戦略に頼っています。
- 希望の間隔で繰り返しタイマー
touchDownInside
を設定しました。 - On
touchUpInside
タイマーを無効にして解放します。
しかし、そのようなボタンごとに、個別のタイマー インスタンス変数、2 つのターゲット アクション、および 2 つのメソッドの実装が必要です。(これは、私が汎用クラスを作成していて、同時タッチの最大数に制限を課したくないと仮定しています)。
私が見逃しているこれを解決するためのよりエレガントな方法はありますか?