0

さまざまなビューにいくつかのUIImageアニメーションがあるアプリをプログラミングしています。今、私はこのコード行を使用してすべての画像をロードしています:

[UIImage    imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"10001.png" ofType:nil]],
[UIImage    imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"10002.png" ofType:nil]],
[UIImage    imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"10003.png" ofType:nil]],
[UIImage    imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"10004.png" ofType:nil]],
[UIImage    imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"10005.png" ofType:nil]],

このように100枚すべての画像をロードします。

次に、2番目のビューで、次のようにロードします。

[UIImage    imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"20001.png" ofType:nil]],
[UIImage    imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"20002.png" ofType:nil]],
[UIImage    imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"20003.png" ofType:nil]],
[UIImage    imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"20004.png" ofType:nil]],
[UIImage    imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"20005.png" ofType:nil]],

そして再び100枚の画像をロードします。

すべての画像をロードする方法はありますが、画像の名前を1回だけ入力する方法はありますか?たとえば、最初の2つの数字(10)を入力してから、残りの画像を自動的にロードします。Xcodeで可能ですか?ありがとう!

4

1 に答える 1

1

これは機能するはずです(テストされていませんが、アイデアは明確である必要があります)

- (NSArray *)loadImagesWithNumber:(NSInteger)number count:(NSUInteger)count
{
    NSMutableArray *array = [NSMutableArray arrayWithCapacity:count];

    for(NSUInteger i=0; i<count; i++)
    {
        NSString *name = [NSString stringWithFormat:@"%u.png", number + i];
        UIImage *image = [UIImage imageNamed:name];

        [array addObject:image];
    }

    return array;
}

例:NSArray *images = [self loadImagesWithNumber:1000 count:100];、これは〜で始まる100枚の画像をロード1000.png1099.pngます。

コードが先行ゼロを追加しないため、このよう0000.pngな画像がある場合、これは機能しないことに注意してください。0099.pngただし、必要に応じて追加するのは簡単です(サポートが必要かどうかをお気軽にお問い合わせください)

于 2012-10-06T20:10:07.920 に答える