ShinobiCharts抛出CALayerInvalidGeometry错误

时间:2014-04-04 15:18:41

标签: xamarin.ios xamarin shinobi

我正在尝试使用Xamarin.iOS在Shinobi for iOS上创建一个圆环图表时遇到麻烦。

我用来设置图表的代码如下:

private void SetupSChart(){
            float margin = 0;

            if (UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Phone) {
                margin = 10;
            } else {
                margin = 50;
            }
            var frame = UIScreen.MainScreen.Bounds;//new RectangleF (margin, margin, View.Bounds.Width - 2 * margin, View.Bounds.Height - 2 * margin);
            m_schart = new ShinobiChart (frame){ 
                Title = "Poll replies / answer",
                AutoresizingMask = UIViewAutoresizing.None
            };

            View.AddSubview (m_schart);
            m_schart.DataSource = new ChartDataSource(this.Poll);
            m_schart.Legend.Hidden = false;
        }

然后,我得到以下异常:

CALayerInvalidGeometry

Objective-C exception thrown.  Name: CALayerInvalidGeometry Reason: CALayer position contains NaN: [nan nan]

CALayer position contains NaN: [nan nan]

我做错了什么?

由于

1 个答案:

答案 0 :(得分:1)

我们已经通过我们的常规支持渠道进行了聊天,但我想我也会在这里做出回应,以帮助遇到类似问题的其他人。

当所有切片的值都为0时,您在圆环图中看到的崩溃发生。图表目前没有很好地处理这个问题 - 我们在产品待办事项中提出了一个问题来处理这更好。

与此同时,如果系列中的所有数据点都为零,最好的方法是隐藏系列。您可以在图表数据源中的GetSeries方法中执行此操作。当图表尝试绘制系列时会发生崩溃,因此如果在绘制系列之前隐藏该系列,则可以避免此问题。

非常感谢,