我正在Xamarin中构建iOS iPad应用程序。
我在项目根目录中创建了一个名为Resources的文件夹,例如ProjectName / Resources。这是一个子文件夹ProjectName / Resources / Images。我已将2张图像添加到“图像”文件夹中。
然后,在Interface Builder(在Xcode中)中,我已将UIImageView添加到我的xib文件中,并在属性检查器中转到Image下拉菜单。没有可供选择的图像。
也许我必须通过Xcode添加它们?如果是这样,正确的步骤和使用的文件结构是什么?
什么是处理图像并使它们可在Interface Builder中选择的正确方法?
Xamarin Studio仅导出在编译应用程序时将驻留在顶级应用程序包目录中的图像。这是因为Xcode的.xib文件似乎只能引用顶级应用程序包中的图像。
有多种方法可以实现您的目标:
第一种选择是将a指定为LogicalName
您希望名称出现在已编译应用程序捆绑包中的任何名称。在Xamarin Studio中,此属性称为Resource ID
(根据您所使用的Xamarin Studio版本而定-可能不可用-它是最近才添加的)。您还可以通过编辑* .csproj文件来设置LogicalName,如下所示:
<BundleResource Include="Icons\icon.png">
<LogicalName>icon.png</LogicalName>
</BundleResource>
通常,该Icons\icon.png
文件将以形式复制到iOS应用程序捆绑包中Icons/icon.png
,但是LogicalName属性将覆盖相对的安装路径/名称。在这种情况下,它将被简单地复制icon.png
。
作为另一个示例,您还可以执行以下操作:
<BundleResource Include="Icons\iOS\icon.png">
<LogicalName>AppIcon.png</LogicalName>
</BundleResource>
这会将Icons\iOS\icon.png
文件复制到iOS应用程序捆绑包的根目录中,并将其重命名为AppIcon.png
。
第二种选择是将图像文件简单地移动到Resources
文件夹中。Resources文件夹是一个特殊目录,当复制到iOS应用程序捆绑包时,该目录会脱离默认路径名。换句话说,Resources\icon.png
将复制到iOS应用程序捆绑包的根目录中,icon.png
而不是Resources\icon.png
像普通项目目录那样复制到iOS应用程序包的根目录中。
第三种选择是简单地注册您自己的其他“资源”目录(它们可以存在于其他目录中,包括默认的“资源”目录)。
例如,您可以在项目中使用结构:
Resources/
Icons/
icon.png
[email protected]
然后在您的* .csproj文件中,编辑以下标记:
<IPhoneResourcePrefix>Resources</IPhoneResourcePrefix>
并替换为:
<IPhoneResourcePrefix>Resources;Resources\Icons</IPhoneResourcePrefix>
这将确保将icon.png和[email protected]文件安装在iOS应用捆绑包的根目录中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句