animationImage UIImageView について小さな問題があります。まず、animationImages を使用して UIImageView を作成し、baseView という名前の別のビューのサブビューとして追加します。
UIImageView* imageToday = [[[UIImageView alloc] initWithFrame:CGRectMake(YOUR_FRAME)] autorelease];
[baseView addSubview:imageToday];
imageToday.animationImages = [NSArray arrayWithObjects:[UIImage imageNamed:@"PNGIMAGE_1"], [UIImage imageNamed:@"PNGIMAGE_2"], nil];
imageToday.animationDuration = 2.0f;
imageToday.animationRepeatCount = 0xFFFF;
[imageToday startAnimating];
何らかの理由で、スーパービュー baseView がそのスーパービューにサブビューに再追加されます。次に、imageToday の animationImages を更新してアニメーションを再開しようとしても、アニメーション イメージは変更されません。
imageToday.animationImage = [NSArray arrayWithObjects:[UIImage imageNamed:@"PNGIMAGE_3"], [UIImage imageNamed:@"PNGIMAGE_4"], nil];
[imageToday startAnimating];
ビューの単純な階層:
- UIViewController
- baseView
- imageToday
ベース ビュー コントローラーがナビゲーション コントローラーによってシフトアウト (プレゼンス/プッシュ) およびバック (ディスミス/ポップ) された場合、またはデバイスの [ホーム] ボタンを押してアプリケーションに戻った場合、上記のコード セクションの animationImages が変更されます。正しく、UI に表示されます。
どんな提案や解決策も大歓迎です! ありがとうございました。
編集: baseView で removeFromSuperview を使用せずに、親ビューコントローラーのビューに再追加しましたが、再度追加して、以下のコードに示すように、UIKit にビュー階層を管理させました。
[self.view addSubview:self.baseView];