kyu*_*yan 10 xamarin.ios ios xamarin xamarin-studio
我在使用xamarin文件夹时遇到问题.目前我正在编写xamarin iOS项目.在Xcode中我使用目录来分组图像,可能有几个级别的嵌套文件夹,但是当我为设备或iOS模拟器构建项目时,这些资源只是被复制到主包,没有任何文件夹结构.我无法在xamarin工作室中达到相同的行为.每当我在项目中创建文件夹并将图片或其他资源放入其中时,此文件夹结构将在实际设备上重新创建,因此,在加载图像时,我会在不同的路径上进行斗争.如何让xamarin studio只是将文件夹中的文件复制到主包中,而不是重新创建文件夹结构?
感谢帮助.
jst*_*ast 16
我的第一个建议是将BuildAction
图像的属性更改为BundleResource
.
一旦你这样做,有多种方法可以实现你的目标:
第一个选项是指定a LogicalName
为您希望名称在已编译的应用程序包内的任何内容.目前没有办法为文件Resource ID
以外的任何东西设置(LogicalName属性的UI名称)EmbeddedResource
(我将暂时修复它),但您可以像这样编辑*.csproj:
<BundleResource Include="Icons\icon.png">
<LogicalName>icon.png</LogicalName>
</BundleResource>
Run Code Online (Sandbox Code Playgroud)
通常,该Icons\icon.png
文件将被复制到iOS应用程序包中Icons/icon.png
,但是,LogicalName属性会覆盖相对路径名.在这种情况下,它将被简单地复制icon.png
.
再举一个例子,你也可以这样做:
<BundleResource Include="Icons\iOS\icon.png">
<LogicalName>AppIcon.png</LogicalName>
</BundleResource>
Run Code Online (Sandbox Code Playgroud)
这会将Icons\iOS\icon.png
文件复制到iOS应用程序包的根目录中,并将其重命名为AppIcon.png
.
第二个选项是简单地将图像文件移动到Resources
文件夹中.Resources文件夹是一个特殊目录,在复制到iOS应用程序包时会从默认路径名中删除.换句话说,Resources\icon.png
将被复制到iOS应用程序包的根目录中,icon.png
而不是Resources\icon.png
普通项目目录的情况.
第三种选择是简单地注册您自己的其他"资源"目录(它们可以存在于其他目录中,包括默认的Resources目录).
例如,您可以在项目中使用该结构:
Resources/
Icons/
icon.png
icon@2x.png
Run Code Online (Sandbox Code Playgroud)
在*.csproj文件中,编辑以下标记:
<IPhoneResourcePrefix>Resources</IPhoneResourcePrefix>
Run Code Online (Sandbox Code Playgroud)
并替换为:
<IPhoneResourcePrefix>Resources;Resources\Icons</IPhoneResourcePrefix>
Run Code Online (Sandbox Code Playgroud)
这将确保icon.png和icon@2x.png文件安装在iOS应用程序包的根目录中.
归档时间: |
|
查看次数: |
5228 次 |
最近记录: |