gpt4 book ai didi

ios - iOS 项目中的 Xamarin Studio 文件夹结构问题

转载 作者:技术小花猫 更新时间:2023-10-29 11:00:52 25 4
gpt4 key购买 nike

我在使用 xamarin 文件夹时遇到问题。目前我正在编写 xamarin iOS 项目。在 Xcode 中,我使用目录对图像进行分组,可能有多个级别的嵌套文件夹,但是当我为设备或 iOS 模拟器构建项目时,这些资源只是被复制到主包中,没有任何文件夹结构。我无法在 xamarin studio 中达到相同的行为。每当我在我的项目中创建文件夹并将图片或其他资源放入其中时,该文件夹结构都会在实际设备上重新创建,因此,在加载图像时,我会与不同的路径作斗争。如何让 xamarin studio 只需将文件夹中的文件复制到主包,而不是重新创建文件夹结构?

感谢您的帮助。

最佳答案

我的第一个建议是将图像的 BuildAction 属性更改为 BundleResource

一旦你这样做了,就有多种方法可以实现你的目标:

第一个选项是将 LogicalName 指定为您希望在已编译的应用程序包中使用的任何名称。目前没有办法为 EmbeddedResource 文件以外的任何东西设置 Resource ID(LogicalName 属性的 UI 名称)(我会暂时解决这个问题),但是你可以像这样编辑 *.csproj:

<BundleResource Include="Icons\icon.png">
<LogicalName>icon.png</LogicalName>
</BundleResource>

通常,Icons\icon.png 文件将作为 Icons/icon.png 复制到 iOS 应用程序包中,但是,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 将作为 icon.png 而不是 Resources\icon.png< 复制到 iOS 应用程序包的根目录中 与普通项目目录一样。

第三种选择是简单地注册您自己的其他“资源”目录(它们可以存在于其他目录中,包括默认资源目录)。

例如,您可以在项目中使用以下结构:

Resources/
Icons/
icon.png
icon@2x.png

在您的 *.csproj 文件中,编辑以下标签:

<IPhoneResourcePrefix>Resources</IPhoneResourcePrefix>

并将其替换为:

<IPhoneResourcePrefix>Resources;Resources\Icons</IPhoneResourcePrefix>

这将确保 icon.png 和 icon@2x.png 文件安装在 iOS 应用程序包的根目录中。

关于ios - iOS 项目中的 Xamarin Studio 文件夹结构问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16938250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com