Dav*_*igh 10 interface-builder xamarin.ios xamarin-studio
我在Xamarin工作,建立一个iOS iPad应用程序.
我在项目根目录中创建了一个名为Resources的文件夹,例如ProjectName/Resources.这里有一个子文件夹ProjectName/Resources/Images.我在Images文件夹中添加了2张图像.
然后,在Interface Builder(在Xcode中),我已经将UIImageView添加到我的xib文件中,然后转到属性检查器中的Image下拉列表.没有可供选择的图像.
也许我必须通过Xcode添加它们?如果是这样,使用什么是正确的步骤和文件结构?
在Interface Builder中使用图像并使其可供选择的正确方法是什么?
jst*_*ast 12
Xamarin Studio仅在应用程序编译时导出将存在于顶级应用程序包目录中的图像.这是因为Xcode的.xib文件似乎只能引用顶级应用程序包中的图像.
有多种方法可以实现您的目标:
第一个选项是指定a LogicalName为您希望名称在已编译的应用程序包内的任何内容.在Xamarin Studio中,此属性称为Resource ID(可能会也可能不会取决于您使用的Xamarin Studio版本 - 它最近才添加).您还可以通过编辑*.csproj文件来设置LogicalName,如下所示:
<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应用程序包的根目录中.
| 归档时间: |
|
| 查看次数: |
3500 次 |
| 最近记录: |