2012-05-12 15 views
0

私は - (void)touchesBegan ...を使用して、ユーザーが画面上の任意の場所をタップしたかどうかを確認しています。ユーザが画面をタップすると、アクションが実行されます。しかし、その人が指を持ち上げると、その行動は中止されます。具体的には、ユーザーがタップするとimageView.animateImagesを一度実行しています。私は、タップして放すと、アニメーションは実行され続けるようにしたいと思います(私はrepeatCountを1に設定しています)。誰もこれを行う方法を知っていますか?前もって感謝します!touchesBeganでアクションを完全に実行

答えて

0

まあ、おそらくNSNotificationsを使うべきです。このようなものを試してみてください。

... 

NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; 
[nc addObserver:self selector:@selector(nameOfAnimationMethod) name:@"touched" object:nil]; 

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ 

[nc postNotificationName:@"touched" object:self]; 

} 

このようなことを実行してみましょう。これは、通知センタを作成し、現在のオブジェクトをオブザーバとして通知センタに追加し、「タッチされた」通知をリッスンします。通知センタが通知を送信すると、オブジェクトはメソッド(セレクタ) "nameOfAnimationMethod"を実行します。 touchesBeganメソッドのオーバーライドを見ると、 "touched"という名前の通知を投稿したことがわかります。これは、あなたが望む方法を実行するオブジェクトをトリガします。

これが役に立った場合は、私の答えを受け入れてください!それは本当に私たちの両方を助けます。

+0

私はそれをしましたが、私の問題は解決しませんでした。私がクリックするたびに、いったん離してしまうとアニメーションが停止しました。私が行動を起こしたのは問題ですか?(IBAction)? – Toby

+0

あなたは - (IBAction)ですか?それは問題かもしれません!あなたがコンセントを接続したら、あなたはタッチタイプ(タッチイン、タッチアップ)として何を作ったのですか? – Monkeyanator

+0

私はそれをアウトレットにしたことはありません。これはすべてプログラムによって行われます。 – Toby

関連する問題