0

私は-(void)touchesBegan ...を使用して、ユーザーが画面のどこかをタップしたかどうかを確認しています。ユーザーが画面をタップすると、アクションが実行されます。ただし、その人が指を離すと、アクションは停止します。具体的には、ユーザーがタップしたときにimageView.animateImagesを1回実行しています。タップして放した場合でも、アニメーションが実行され続けるようにします(repeatCountを1に設定しています)。誰かがこれを行う方法を知っていますか?前もって感謝します!

4

1 に答える 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 に答える