iOS:如何在界面生成器中使用自定义包中的图像?

我有一个捆绑,我把图像放在里面。

内容是:

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

我将MyBundle.bundle拖到我的项目中。

现在我可以在Interface Builder中看到这些图像,甚至可以使用它们。 但是,当我运行该应用程序,我没有看到图像。

怎么了?

谢谢,

确保在目标项目设置的“构build阶段”中复制了该包。

另外,尝试设置他们progr,看看他们是否显示:

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

我只是在我的项目中试过这个,发现你需要做的是在前面指定包名称的图像,像这样:

图像在IB

在IB中图像看起来会破碎:

破碎

但是当你build立运行你的项目时,图像将正确显示

所以,就你的情况来说,在实际的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" 

你也需要将XIB放入包中。 当你这样做的时候,界面的资源将是相对于捆绑的,所以他们既可以在IB中工作,也可以在你的应用中加载界面。

您可能会将该套件创build为Mac OS X目标,从而造成杂散的生成设置。

看到我的解决scheme的其他答案 。