我在VS 2017中创建了Xamarin Forms项目,并通过添加带有三个选项卡的TabbedPage
开始。然后,我将这些图标添加到Android(资源/可绘制)和iOS(资源目录/图标)项目中。尝试使用Xamarin中的iOS项目中资产目录中的图标时发生异常TabbedPage
当我在Android上启动项目时,它工作正常,但在iOS上我得到一个例外,即UIImage
无法加载,因为initWithCOntentsOfFile
返回nil。这实际上是正确的,因为这不是用来访问资产的正确方法。但是这是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中的每个平台设置一个平台,只需要一点灵活性即可满足需求。 – Digitalsa1nt