After seeing some strange behavior in my application, I have a simple repro case where hiding a renderable series that’s in a vertically stacked columns collection causes the entire screen to go black. I’ll attach a full viewDidLoad() below, but here’s the basic setup:
let rsLeftSingle = SCIStackedColumnRenderableSeries() rsLeftSingle.dataSeries = dataSeriesLeftSingle rsLeftSingle.yAxisId = yAxisLeft.axisId rsLeftSingle.fillBrushStyle = SCISolidBrushStyle(color: UIColor.yellow) rsLeftSingle.strokeStyle = SCISolidPenStyle(color: UIColor.yellow, thickness: 2.0) let rsLeftDouble = SCIStackedColumnRenderableSeries() rsLeftDouble.dataSeries = dataSeriesLeftDouble rsLeftDouble.yAxisId = yAxisLeft.axisId rsLeftDouble.fillBrushStyle = SCISolidBrushStyle(color: UIColor.blue) rsLeftDouble.strokeStyle = SCISolidPenStyle(color: UIColor.blue, thickness: 2.0) let stacks = SCIVerticallyStackedColumnsCollection() stacks.add(rsLeftSingle) stacks.add(rsLeftDouble) surface.renderableSeries.add(stacks) let legendModifier = SCILegendModifier() surface.chartModifiers.add(legendModifier)
That code displays a stack of yellow and blue bars, with a legend and checkboxes (both checkboxes selected). When I tap a checkbox to deselect it, the SCIChartSurface() goes blank, the legend remains on screen, and I see this message in the console:
Exception raised with reason: All stacked series in on collection should have the same amount of X Values
When I reselect that checkbox, I get my plot back.
There are no changes being made to the underlying data. Hiding/showing works correctly for horizontally stacked collection and for other renderable series types.
What’s your recommended workaround?
Thanks for reporting this.
I’m glad to let you know, that we fixed this issue, and the fix is available in our latest nightly build which is v4.2.0-nightly.5585.
It’s available through CocoaPods or SwiftPM so please try it out and let us know if the problem is gone.
Please login first to submit.