1

私のアプリでは、このコードを newAppDelegate.m に記述して、.gif ファイルをフレームに分割してアニメーションを表示しています (アニメーションのスプラッシュを表示するため)。

しかし、アニメーションの代わりにアプリを実行すると、白い画面が表示され、5 秒後にアプリケーションが起動します。

- (void)applicationDidFinishLaunching:(UIApplication *)application
{
    window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    // Array to hold jpg images
    imageArray = [[NSMutableArray alloc] initWithCapacity:IMAGE_COUNT];

    // Build array of images, cycling through image names

    imageArray = [NSMutableArray arrayWithObjects: [UIImage imageNamed:@"f1.jpg"], [UIImage imageNamed:@"f2.jpg"], [UIImage imageNamed:@"f3.jpg"], [UIImage imageNamed:@"f4.jpg"], [UIImage imageNamed:@"f5.jpg"], [UIImage imageNamed:@"f6.jpg"], nil];
    NSLog(@"total image:%d", imageArray.count);

    // Animated images - centered on screen
    animatedImages = [[UIImageView alloc] 
                      initWithFrame:CGRectMake(
                                               (SCREEN_WIDTH / 2) - (IMAGE_WIDTH / 2), 
                                               (SCREEN_HEIGHT / 2) - (IMAGE_HEIGHT / 2) + STATUS_BAR_HEIGHT,
                                               IMAGE_WIDTH, IMAGE_HEIGHT)];
    animatedImages.animationImages = [NSArray arrayWithArray:imageArray];

    // One cycle through all the images takes 1.5 seconds
    animatedImages.animationDuration =1;

    // Repeat forever
    animatedImages.animationRepeatCount = -1;

    // Add subview and make window visible
    [window addSubview:animatedImages];
    [window setBackgroundColor:[UIColor blackColor]];
    [window makeKeyAndVisible];

    // Start it up
    [animatedImages startAnimating];

    // Wait 5 seconds, then stop animation
    [self performSelector:@selector(stopAnimation) withObject:nil afterDelay:5.0];

}

- (void)stopAnimation
{
    [animatedImages stopAnimating];
    [window addSubview:viewController.view];
    [window makeKeyAndVisible];
}
4

1 に答える 1

1

問題は

animatedImages.animationRepeatCount = -1;

おそらく、これにより繰り返し回数が無限に設定されると思ったでしょう。ただし、API の状態

デフォルト値は 0 で、アニメーションを無期限に繰り返すことを指定します。

于 2011-03-13T19:07:05.223 に答える