使用 Xamarin.iOS 显示图像

将图像添加到应用需要两个步骤:首先,将图像添加到项目;然后,添加控件和代码使它们显示在屏幕上。 有关 Xamarin.iOS 中图像处理的更详细介绍,请参阅使用图像一文。

向应用添加图像

可以将图像添加到 Visual Studio for Mac 解决方案中的任何文件夹,如果“生成操作”设置为“内容”,则该文件将包含在你的应用中并可以显示

Visual Studio for Mac 还支持一个名为“资源”的特殊目录,该目录也可以包含图像文件。 “资源”文件夹中的文件应将“生成操作”设置为“BundleResource”

以下屏幕截图显示了右键单击文件时出现的“生成操作”选项

“生成操作”菜单

Visual Studio for Mac 通常会自动选择正确的“生成操作”,但应注意这些设置,尤其是在项目中移动文件时

添加图像文件

若要向项目添加图像文件,请先右键单击该项目,然后选择“添加文件...”

“添加文件...”菜单

选择要包含在标准文件对话框中的图像。 图像的默认生成操作将是 BundleResource – 除非有特定原因,否则不要重写此值

“添加文件”对话框

图像将添加到项目中,并可在代码中加载和显示。 以下屏幕截图显示了添加到 iOS 应用程序项目的图像:

项目中的图像

什么是资源目录?

放置在“资源”目录中的文件与常规文件的处理方式不同,“资源”文件夹的内容将复制到应用程序的根目录,并且可以在代码中引用。 出于多种原因,这非常有用:

  • 存储应用程序属性中配置的图像,例如默认启动图像和应用程序图标。
  • 将其他图像和文件与代码分开存储,使其更易于管理(复制资源目录内容时会保留子目录)。

“资源”目录在库项目中特别有用,因为代码可以假设这些图像将复制到使用应用程序的根目录中,从而更容易编写需要图像、声音、视频、XML 或其他文件的共享代码库。

“资源”目录必须命名,并且所有文件都应将生成操作设置为“BundleResource”。

显示图像

在 iOS 设计器中,使用“图像视图”显示图像或制作为动画的图像系列。 工具箱中的“图像视图”图标如下所示:

工具箱中的 ImageView 图标。

将“图像视图”从“工具箱”拖到视图控制器上。 然后,在“图像视图”>“图像”下,下拉列表将提供项目中所有可用图像文件的列表。 选择其中任一项以将其添加到图像视图。

工具箱中的 ImageView

以编程方式显示图像

由于 SF Monkey.jpg 位于“资源”目录的根目录中,因此它将在运行时在应用程序捆绑包的根目录中可用。 若要在图像视图控件中显示此图像,请使用以下代码:

imageview1.Image = UIImage.FromBundle("SF Monkey.png");

如果将图像放置在 /Resources/Pics/SF Monkey.jpg 中,则代码将在路径中包含 Pics 文件夹

imageview1.Image = UIImage.FromBundle("Pics/SF Monkey.png");

资源文件引用从不需要包含“资源”文件夹。