0

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];
4

0 に答える 0