私は、アニメーション用の画像myimageview
の NSArray( ) をロードしたシンプルな UIImageView( ) を持っています (私の:animationArray
ViewController.m)
[self.myimageview setAnimationImages:self.animationArray];
[self.myimageview setAnimationDuration:[self durationTime]];
[self.myimageview setAnimationRepeatCount: 1];
[self.myimageview startAnimating];
stopAnimating などを使用する場所を知っています。ただし、奇妙な問題があります。画面がロックされると、アニメーションに何も起こりません。何でも魅力のように機能します。画面のロックを解除した後も続きます。
ただし、アプリがバックグラウンド モードになると、アニメーション全体が停止します (アニメーションの長さは 2 ~ 3 分なので、受け入れられません)。少し検索したところ、次のトピックが見つかりました。
このコードを使用する場所:
UIView *viewBeingAnimated = //your view that is being animated
viewBeingAnimated.frame = [[viewBeingAnimated.layer presentationLayer] frame];
[viewBeingAnimated.layer removeAllAnimations];
//when user unpauses, create new animation from current position.
今、これを AppDelegate.m のコードに実装しようとしています
// in -(void)applicationDidEnterBackground:
self.viewController.myimageview.frame = [[self.myimageview.frenchPress.layer presentationLayer] frame];
ただし、 XCode内で(上記の行で)この問題が発生し、それ以上続行できません:
AppDelegate.m:40:47: Receiver type 'CALayer' for instance message is a forward declaration
バックグラウンドで値を終了すると、時間を節約できます: self.currentDate
(必要な場合に備えて、補足として)。
中断せずにアニメーションを一時停止して再生するにはどうすればよいですか?