重複の可能性:
ボタンを押す前に揺れに反応しないようにするには?
私はアプリを持っていますが、現在、[再生] ボタンをクリックすると、ラベルに [シェイクして再生] と表示されます、ラベルが表示されたときに、ユーザーが振るとラベルが消えます。その後、アプリの他の部分を整理したので、必要なのはそれだけです。助けてくれた人に感謝します。私はまったく新しいので、答えを説明してください:)ありがとう
重複の可能性:
ボタンを押す前に揺れに反応しないようにするには?
私はアプリを持っていますが、現在、[再生] ボタンをクリックすると、ラベルに [シェイクして再生] と表示されます、ラベルが表示されたときに、ユーザーが振るとラベルが消えます。その後、アプリの他の部分を整理したので、必要なのはそれだけです。助けてくれた人に感謝します。私はまったく新しいので、答えを説明してください:)ありがとう
これを行う明白な方法は、iVar または @property を作成し、[再生] ボタンを押した結果として発生するアクションで、iVar/@property を YES に設定することです。MotionBegan:withEvent: でシェイクを検出した場合、iVar/@property が YES でない場合は、シェイク アクションを実行せずに単に戻ります。ユーザーが適切なタイミングでシェイクしたことを受け入れる場合は、ラベルを非表示に設定します。
BOOL 型のインスタンス変数を作成します。たとえば、playIsTouched と呼びます。ビュー コントローラの viewDidLoad メソッドで NO に設定します。再生ボタンへのタッチを処理するメソッドで、playIsTouched を YES に設定します。シェイクを処理するメソッドで、playIsTouched == YES の場合にのみラベルを非表示にします。同じ方法で、playIsTouched を NO に戻すことができます (ユーザーが振る前にボタンをもう一度タッチする必要がある場合)。