0

我在尝试使用 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]

我究竟做错了什么?

谢谢

4

1 回答 1

1

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

当所有切片的值都为 0 时,您在圆环图中看到的崩溃发生。该图表目前无法很好地处理这个问题 - 我们在产品积压中提出了一个问题,以便更好地处理这个问题.

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

非常感谢,

于 2014-04-09T15:22:56.667 回答