次の方法で共有


Xamarin.iOS での画像の表示

アプリに画像を追加するには、2 つの手順が必要です。最初に、プロジェクトに画像を追加します。次に、コントロールとコードを追加して画面に表示します。 Xamarin.iOS での画像処理の詳細については、画像の操作に関する記事を参照してください。

アプリへの画像の追加

画像は Visual Studio for Mac ソリューションの任意のフォルダーに追加できます。[ビルド アクション][Content] に設定されている場合、ファイルはアプリに含まれるので、表示できます。

Visual Studio for Mac では、画像ファイルを含めることができる Resources という特別なディレクトリもサポートされています。 Resources フォルダー内のファイルでは、[ビルド アクション][BundleResource] に設定されている必要があります。

このスクリーンショットは、ファイルが右クリックされたときに表示される [ビルド アクション] のオプションを示しています。

[ビルド アクション] メニュー

Visual Studio for Mac では通常、正しい [ビルド アクション] が自動的に選択されますが、特にプロジェクト内でファイルを移動する場合は、これらの設定に注意する必要があります。

画像ファイルの追加

プロジェクトに画像ファイルを追加するには、まずプロジェクトを右クリックし、[ファイルの追加...] を選択します。

[ファイルの追加...] メニュー

標準ファイル ダイアログに含める画像を選択します。 画像の既定のビルド アクションは [BundleResource] となります。特別な理由がない限り、この値をオーバーライドしないでください。

[ファイルの追加] ダイアログ

画像はプロジェクトに追加され、コードに読み込まれて表示できるようになります。 このスクリーンショットは、iOS アプリケーション プロジェクトに追加された画像を示しています。

プロジェクト内の画像

Resources ディレクトリとは

Resources ディレクトリに配置されたファイルは通常のファイルとは異なる方法で処理されます。Resources フォルダーの内容はアプリケーションのルートにコピーされ、コード内でそこから参照できます。 これは、次のようなさまざまな理由で役立ちます。

  • 既定のスタートアップ画像やアプリケーション アイコンなど、アプリケーションのプロパティに構成された画像を格納する。
  • コードとは別に他の画像やファイルを格納する。これにより、管理がより簡単になります (Resources ディレクトリの内容がコピーされるときにサブディレクトリが保持されます)。

Resources ディレクトリは、ライブラリ プロジェクトで特に便利です。これは、コードでは、使用側アプリケーションのルートにそれらの画像がコピーされると想定でき、画像、サウンド、ビデオ、XML、またはその他のファイルを必要とする共有コード ライブラリをより簡単に記述できるためです。

Resources ディレクトリはそのように呼ばれる必要があり、すべてのファイルのビルド アクションが [BundleResource] に設定されている必要があります。

画像の表示

iOS Designer で、[画像ビュー] を使用して、画像またはアニメーション化された一連の画像を表示します。 [ツールボックス] の [画像ビュー] アイコンを以下に示します。

ツールボックスの ImageView アイコン。

[画像ビュー][ツールボックス] からビュー コントローラーにドラッグします。 その後、[画像ビュー] > [画像] のドロップダウン リストに、プロジェクトで使用可能なすべての画像ファイルの一覧が示されます。 これらのいずれかを選んで画像ビューに追加します。

ツールボックスの ImageView

プログラムによる画像の表示

SF Monkey.jpgResources ディレクトリのルートにあるため、実行時にアプリケーション バンドルのルートで使用できるようになります。 画像ビュー コントロールにこのイメージを表示するには、次のコードを使用します。

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

画像を /Resources/Pics/SF Monkey.jpg に配置した場合は、コードのパスに Pics フォルダーが含まれます。

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

リソース ファイル参照に Resources フォルダーを含める必要はありません。