我製作了一個具有特定功能和特定圖形外觀的應用程序。XCode 4:多個目標,多個資源與共享Xib使用同名圖像的文件夾?
例如,自定義tableview單元格是從Xib文件加載的,並具有UIImageView作爲背景圖像,加載了來自資源組的粉紅色圖像(「customcell.png」)。
現在,我複製了原始目標以創建應用程序的藍色版本。 另外,新的Target使用自己的Info.plist文件和自己的包標識符。
我希望Xib文件中的UIImageView使用相同的文件名(「customcell.png」),但如果藍色的目標是建立藍色版本的customcell.png。
我知道你不能在一個項目中使用同名文件,即使你把它放在一個組(黃色文件夾)中,因爲這只是一個邏輯文件夾。
因此,我創建了2個藍色文件夾(稱爲「藍色」和「粉紅色」),每個文件夾都與正確的目標相關聯。 我在「藍色」文件夾中放置了藍色版本的「customcell.png」,在「粉紅色」文件夾中放置了粉紅色版本的「customcell.png」。
我從項目中刪除了原來的「customcell.png」,只剩下新文件夾中的2個副本。
在Interface Builder中,UIImageView已經空白(因爲我刪除了原始圖像文件),所以我從下拉列表中再次選擇了「customcell.png」。 它只顯示了那個名字的一個文件(不是2),它是藍色的(不知道爲什麼)。
然而,當我建立任何目標的,我得到一個空的UIImageView和警告:
無法與標識符加載從筆尖引用的「customcell.png」形象捆綁「 com.myapp.blueversion」
(或pinkversion)
所以,基本上我的問題是, 我怎麼能使用具有相同名稱不同的圖像,關聯到不同的目標, 但有一個Xib文件適當地加載它們?
非常感謝!
您是否記得將它們分配給不同的目標? –
是的(我在創建時分配了藍色文件夾,我似乎無法分配單個文件)......看起來,IB無法真正到達那些藍色文件夾。我設法使用CustomeCell類中的#IFDEF來實現它,指向適當的藍色文件夾,但這意味着需要很多這些#IFDEF,我希望能通過IB來做到這一點,而不是增加大量的IFs ...如果有人知道某種方式,將不勝感激。謝謝。 –