2011-10-11 64 views
24

我有一個捆綁,我把它的圖像。iOS:如何在界面生成器中使用自定義束中的圖像?

內容是:

MyBundle.bundle/images/picture1.png 
MyBundle.bundle/images/picture2.png 

我拖着MyBundle.bundle到我的項目。

現在我可以在Interface Builder中看到這些圖像,甚至可以使用它們。但是,當我運行該應用程序時,我看不到圖像。

怎麼了?

感謝,

回答

36

確保該包在得到複製過來的「構建階段」爲目標的項目設置。

另外,儘量progrmatically設置他們,看他們是否顯示:

myImageView.image = [UIImage imageNamed:@"MyBundle.bundle/images/picture1.png"]; 

我只是嘗試這樣做我的項目,發現您需要做的是同捆名指定圖像在前面這樣的:

Image in IB

在IB圖像將破:

Broken

但是當你建立運行項目中的圖像會顯示正確

因此,對於您的情況,請在實際的Interface Builder Image框中使用MyBundle.bundle/images/picture1.png

而且,當你不把包名稱前面,你當你同捆映像加載視圖得到這樣的警告:

2011-10-12 08:22:16.360 UTDebug[721:11c03] Could not load the "map.png" image referenced from a nib in the bundle with identifier "com.companyname.myproject" 
+0

你好。是的代碼行myImageView.image = [UIImage imageNamed:@「MyBundle.bundle/images/picture1.png」];作品。但是,如果我在IB中設置圖像,則會在日誌中看到以下警告:無法加載標識符爲「com.xxx」的包中的nib引用的「picture1.png」圖像,但它不顯示。我確實檢查了「構建階段」,並且該包在那裏。還有其他建議嗎?你是否設法讓它自己工作? –

+0

好的,我發現了這個問題。您需要將包名稱放在IB的實際圖像框中。查看我的答案編輯瞭解更多。 – chown

+0

謝謝!有效!他們應該在IB中糾正圖像的問題,因爲這是誤導人的!再次感謝! –

8

你需要把廈門國際銀行在捆綁了。當你這樣做的時候,接口的資源將與bundle相關,所以它們既可以在IB中工作,也可以在你的應用中加載接口。

+0

不錯!我從來沒想過這點。 – chown

+0

這工作完美! – ram

0

從創建捆綁包到Mac OS X目標,您可能會有一個雜散的生成設置。

查看我的other answer的解決方案。

相關問題