今天,我正在使用新的SFCharts社区许可证。我已经通过教程在Xamarin中创建了一个简单的图表解决方案,并且从所有方面来看,它都可以正常工作。我也在Visual Studio 2019(Mac)中编写它,尽管我也在PC上做了很多工作。
当我在Visual Studio的“预览”模式下查看项目时,它似乎可以很好地呈现(请参见屏幕截图)。 ![1]:https://ibb.co/Dtrf0y1“预览”
当我在Android中启动它时,它似乎可以正常渲染(请参见屏幕截图)。 ![2]:https://ibb.co/4mdzRQ7“ Android”
但是当我在iOS模拟器中启动它时,除了白屏什么都没有。甚至没有头条新闻,只有白色。 ![3]:https://ibb.co/YQdcXM8“ iOS”
有什么想法可能会出错吗?
谢谢。
答案 0 :(得分:0)
您是否已将此代码添加到AppDelegate.cs类中?
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
…
global::Xamarin.Forms.Forms.Init();
**Syncfusion.SfChart.XForms.iOS.Renderers.SfChartRenderer.Init();**
LoadApplication(new App());
…
}
答案 1 :(得分:0)
默认情况下,Xamarin不会在iOS和macOS项目中加载渲染器程序集。因此,为了解决此问题,如下所述,通过在各个项目中调用SfChartRenderer类的静态Init方法来手动加载它。
iOS项目
iOS项目中AppDelegate类的FinishedLaunching重写方法中的SfChartRenderer的Init方法调用,如下所示。
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
...
Syncfusion.SfChart.XForms.iOS.Renderers.SfChartRenderer.Init();
...
}
macOS项目
在macOS Project中,AppDelegate类的DidFinishLaunching重写方法中的SfChartRenderer的调用Init方法如下所示。
public override void DidFinishLaunching(NSNotification notification)
{
...
Syncfusion.SfChart.XForms.MacOS.SfChartRenderer.Init();
...
}