2014-04-03 87 views
2

嘿傢伙第一個問題發佈!動畫UIImage快捷方式?

我剛開始使用Obj-C,我正在做我的第一個動畫。我的動畫包含60秒2秒的圖像,但我發現在代碼中聲明每個圖像都有點乏味。

self.backgroundImageView.animationImages = [NSArray alloc] initWithObjects: 
    [UIImage imageNamed:@"CB00001"], 
    [UIImage imageNamed:@"CB00002"], 
    [UIImage imageNamed:@"CB00003"], 
    [UIImage imageNamed:@"CB00004"], 
    [UIImage imageNamed:@"CB00005"], 
    [UIImage imageNamed:@"CB00006"], 
    [UIImage imageNamed:@"CB00007"], 
    [UIImage imageNamed:@"CB00008"], 
    [UIImage imageNamed:@"CB00009"], 
    [UIImage imageNamed:@"CB00010"], 
    .... 
    [UIImage imageNamed:@"CB00060"], 

有沒有這個快捷方式?!?!?

回答

2
for (NSInteger i = 1; i < 61; i++) { 
    NSString *imageName = [NSString stringWithFormat:@"CB%05ld", (long)i]; 
    //init your image with the name here. 
    //... 
} 

%ld與和05格式整數表示格式字符串的寬度是5,如果長度小於5,插入導致0

+0

「CB%05ld」你能解釋這種記法。我明白你爲什麼使用它,只是爲了看看它背後的機制。 – DangoDoes

+0

帶有%ld的格式整數,05表示格式字符串的寬度爲5,如果長度小於5,則插入前導0. – x4snowman

+0

真棒謝謝! – DangoDoes

0
NSMutableArray *array = [NSMutableArray new]; 
for (int a = 1; a <= 60; a++) { 
    [array addObject:[UIImage imageNamed:[NSString stringWithFormat:@"CB%05i", a]]]; 
} 

self.backgroundImageView.animationImages = array; 
+0

感謝您的回覆 – DangoDoes