私は-(void)touchesBegan ...を使用して、ユーザーが画面のどこかをタップしたかどうかを確認しています。ユーザーが画面をタップすると、アクションが実行されます。ただし、その人が指を離すと、アクションは停止します。具体的には、ユーザーがタップしたときにimageView.animateImagesを1回実行しています。タップして放した場合でも、アニメーションが実行され続けるようにします(repeatCountを1に設定しています)。誰かがこれを行う方法を知っていますか?前もって感謝します!
質問する
294 次
1 に答える
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」という名前で通知を投稿したことがわかります。これにより、オブジェクトがトリガーされ、目的のメソッドが実行されます。
于 2012-05-12T23:59:21.090 に答える