ユーザーがuiviewに触れるとサウンドの再生を開始し、ユーザーが画面上で指をスライドさせると別のトーンに変化するアプリケーションがあります。ユーザーが指を離すと音が止まります。
これには、touchesBegan、Moved、およびEndedイベントを使用しています。
私の問題は、タッチが終了した(および/またはキャンセルされた)ことが適切に起動されず、指を画面から離した後もサウンドが再生され続けることです。
そのため、回避策として、画面のタッチ数をチェックするタイマーを実装します。タイマーがゼロの場合は、再生中にオーディオプレーヤーをチェックして停止します。
私は私に次のようなタッチの数を得ることができるいくつかのコードを探していました
UITouch * touches = [self getAllTouchesonScreen];
か何か :)