連番ファイルを読み込んで表示
パラパラアニメなどで連番ファイルを読み込んだり、ファイル名に変数を使いたい場合のファイル指定の方法です。ド基本かもですが、個人的にObjective-Cでは初めてだったので(oFではあったけど)。
まず3つのPNGファイルを用意しておきます。ファイル名は1Butterfly@2x.png・2Butterfly@2x.png・3Butterfly@2x.pngの3つ。Butterfly1@2x.pngだと後でちょっと困るので、番号は先頭につけています。
ボタンを押すと数がカウントされて、その数がファイル名に含まれているものを表示します。カウント1のときには1Butterfly@2x.pngを表示、カウント2のときは2Butterfly@2x.pngを表示という具合です。
以下サンプルです。これはPNGファイルを読み込ませていますが、前回のplistでも良いですね。
・ViewController.h
#import <UIKit/UIKit.h> @interface ViewController : UIViewController { int count; } @property (weak, nonatomic) IBOutlet UIImageView *PictRenban; - (IBAction)countUp:(id)sender; @end
・ViewController.m
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. count = 0; } ... - (IBAction)countUp:(id)sender { count = count + 1; if (count == 4) { count = 1; } NSLog(@"%d",count); //数値を文字列に NSString *ImageNum = [NSString stringWithFormat : @"%d", count]; NSString *Imagename = [NSString stringWithFormat:@"%@Butterfly@2x.png",ImageNum]; _PictRenban.image = [UIImage imageNamed:Imagename]; } @end
ファイル名の指定をもしButterfly1@2x.pngとすると、"Butterfly%@@2x.png"となってエラーが出てしまいます。おそらくこう指定しても読み込むやり方はあると思うのですが、メンドいので先頭に%@を持ってきて、"%@Butterfly@2x.png"としました。