使用MonoDevelop和IB处理图像...对此非常沮丧......

时间:2012-02-08 17:22:54

标签: xamarin.ios monodevelop

我对MD和IB似乎与图像不能很好地合作感到非常沮丧。让我解释一下。

我们的iPad应用程序具有特定的外观和感觉,我们的大多数控件都有某种与之相关的图像(无论是通过.CS代码还是通过IB分配)。

当我将图像导入MonoDevelop项目中的“images”文件夹时,我双击我的XIB在IB中打开并直观地处理视图。我期待看到我刚刚导入到我的ImageView的图像下拉到MD的图像...但是,我没有,我也看到了对不再在项目中的图像的引用(我已删除了。)

Xcode / IB中是否存在某种我不使用的缓存机制?我已经尝试了我能想到的一切......全部清理......在MD中构建所有...在IB中清理......似乎没有什么能帮助我将项目列表从MD同步到IB ...删除图像...重新导入进入MD ...导入IB ...似乎没有任何东西触发这些文件的“同步”。

另一个人正在研究该项目,最后将图像转储到项目的根目录中,我不喜欢(因为我不希望我的其他开发人员不得不涉及成堆的JPG / PNG文件) ...所以我(假设MD至少足够智能以保持参考完整)将项目根目录中的图像拖放到所谓的“images”文件夹中....现在我们IB的指定图像都没有出现在iPad中应用程序,我们得到了

“无法加载带有标识符”com.yourcompany.compassipad“”

的包中nib引用的图像

项目中每个图像的错误。

请为了所有圣洁的爱,有人可以向我解释这个吗?我对此感到困惑和沮丧。

1 个答案:

答案 0 :(得分:3)

Xcode要求图像资源位于顶层文件夹中,因为它通过基本名称而不是它们的相对路径引用它们。

目前,解决方法是始终将您的图像放在MonoDevelop项目的顶层。

我们计划在MonoDevelop中实现一个“Resources”文件夹,供您放置Xcode所需的图像和其他资源,以便您可以保持您的顶层目录更清晰,但它还没有已实施。

就Xcode中的下拉列表中出现的旧图像而言,我不确定那里发生了什么。您可以尝试删除项目中的“obj”目录(它包含临时目标文件和临时Xcode项目)。当您双击.xib时,MonoDevelop将重新创建此文件夹并生成一个新的Xcode项目。