2012-03-29 78 views
0

我想基於我在設置導航控制器的第一層時初始化的屬性來設置我的視圖控制器的背景圖像。換句話說,在我告訴我的導航控制器推新視圖控制器之前。基於屬性加載視圖的背景圖像

,而不是手動在一堆的if語句,我試圖找到一種方法來自動完成這個打字 - 我已經試過,但它似乎不工作:

NSString *backgroundImageName = [[NSString alloc]initWithFormat:@"artistbackground%i.png",_artistID]; 

self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:[NSString stringWithFormat:@"@\"%@\"",backgroundImageName]]]; 

的字符串將對應於我的支持文件中的圖像標題。

這沒有工作沒有人有任何其他方法來處理這個?

謝謝!

+1

如何圖像命名?那個瘋狂的引用的東西根本沒有意義。誰會像'「artistbackground1.png」'命名圖像?包括'''你的問題在其他地方 – 2012-03-29 18:50:12

+1

也許你需要一些關於字符串文字的教育'@「foobar」'創建一個帶有'foobar'的內容的NSString,'@'和'''都不是字符串。它們就在那裏,所以編譯器知道必須從你寫的字符串文字中創建一個'NSString'對象。 – 2012-03-29 18:54:46

+0

非常感謝 – 2012-03-30 04:32:25

回答

3

試試這個:

NSString *backgroundImageName = [[NSString alloc]initWithFormat:@"artistbackground%i.png",_artistID]; 

self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:backgroundImageName]]; 
+0

不幸的是,這個圖像名稱必須引用 – 2012-03-29 18:29:28

+2

@SeanDanzeiser:我第一次聽到這個。試試看,你不會失望:) – 2012-03-29 18:39:25

+1

哎呦。真棒的人。謝謝您的幫助 – 2012-03-29 20:43:44