Xamarin.ios 尝试将iOS项目中资产目录中的图标与Xamarin TabbedPage一起使用时出现异常
我在VS 2017中创建了一个Xamarin表单项目,首先添加了一个带有三个选项卡的Xamarin.ios 尝试将iOS项目中资产目录中的图标与Xamarin TabbedPage一起使用时出现异常,xamarin.ios,xamarin.forms,asset-catalog,tabbedpage,Xamarin.ios,Xamarin.forms,Asset Catalog,Tabbedpage,我在VS 2017中创建了一个Xamarin表单项目,首先添加了一个带有三个选项卡的TabbedPage。然后,我将图标添加到Android(资源/绘图)和iOS(资产目录/图标)项目中 当我在Android上启动该项目时,它工作正常,但在iOS上我遇到一个异常,即无法加载UIImage,因为initWithCOntentsOfFile返回了nil。这实际上是正确的,因为这不是访问资产的正确方法。但是调用方法的是选项卡页,所以我对此无能为力 TabbetPage看起来非常基本 <?xml
TabbedPage
。然后,我将图标添加到Android(资源/绘图)和iOS(资产目录/图标)项目中
当我在Android上启动该项目时,它工作正常,但在iOS上我遇到一个异常,即无法加载UIImage
,因为initWithCOntentsOfFile
返回了nil。这实际上是正确的,因为这不是访问资产的正确方法。但是调用方法的是选项卡页
,所以我对此无能为力
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>
资产目录如下所示:
这个问题似乎很老了,但除了一些非常肮脏的黑客之外,我还没有找到任何解决方案
有没有干净的解决办法?或者我只需将所有图像添加到资源文件夹而不是资产目录中?同样的错误发生在我身上,我将图像放在iOS上的
.xcsets
上
当我把图片放在Resources文件夹中时,它们通常出现在我的选项卡页面上
在中,他们说把图像放在资源文件夹中
iOS-使用生成操作将图像放置在资源文件夹中:
捆绑资源。还应提供图像的视网膜版本-
分辨率的两倍和三倍,在屏幕上有@2x或@3x后缀
文件扩展名之前的文件名(例如。myimage@2x.png)
我把我所有的图像都放在
.xcsets
文件夹中,它们显然工作得很好,但似乎不是每个案例都能工作。我过去在这个问题上很挣扎。如果将选项卡式页面的图标放在.xcsets中,则该图标在iOS中似乎不起作用。
我把那些.png文件移到了Resources文件夹中,这就产生了神奇的效果。
我想这是Xamarin上的一种bug。我相信您可以在xaml中显式分配源位置。使用平台名称。那么安卓呢?我想支持这两种平台。使用平台上的名称,您只需在.xaml表单中为每个平台设置一个名称,就可以在需要时提供一点灵活性。此外,您是否已将所有图像添加到“当前”的资产目录中?