Xamarin FormsプロジェクトをVS 2017で作成し、3つのタブを持つTabbedPage
を追加して開始しました。その後、アイコンをAndroid(リソース/描画可能)とiOS(資産カタログ/アイコン)プロジェクトに追加しました。Xamarin TabbedPageを使用してiOSプロジェクトでAsset Catalogからアイコンを使用しようとしたときに例外が発生する
私はAndroid上でプロジェクトを開始すると問題なく動作しますが、iOSではinitWithCOntentsOfFile
が返されたため、UIImage
をロードできないという例外が発生します。実際には正しいですが、これはアセットにアクセスするための正しい方法ではないためです。しかし、それはTabbedPage
メソッドを呼び出すので、私はそれについて何もできません。
TabbetPage
はかなり基本的です。
<?xml version="1.0" encoding="utf-8" ?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:GreenThumb"
x:Class="GreenThumb.MainPage">
<NavigationPage Title="Today" Icon="current.png">
<x:Arguments>
<local:Current />
</x:Arguments>
</NavigationPage>
<NavigationPage Title="Overview" Icon="overview.png">
<x:Arguments>
<local:Overview />
</x:Arguments>
</NavigationPage>
<NavigationPage Title="Settings" Icon="settings.png">
<x:Arguments>
<local:Settings />
</x:Arguments>
</NavigationPage>
</TabbedPage>
この問題はかなり古そう、私はいくつかの非常に汚いハックを任意のソリューションを脇に発見していません。
そこに清潔な解決策がありますか?それとも、資産カタログではなくリソースフォルダにすべての画像を追加するだけですか?
私は信じているxamlのソースの場所を明示的に割り当てることができます。プラットフォーム上の指定を使用します。 – Digitalsa1nt
しかし、Androidについてはどうですか?私は両方のプラットフォームをサポートしたい。 – LetzFlow
オンプラットフォームの指定を使用すると、.Forms xamlの各プラットフォームに1つずつ設定するだけで、必要な場所で柔軟性を少しでも与えることができます。 – Digitalsa1nt