SciChart® the market leader in Fast WPF Charts, WPF 3D Charts, iOS Chart, Android Chart and JavaScript Chart Components
I didn’t see anything in any docs, so I am just wanting to verify this info…
Is this correct that you have to link in and ship the libSwiftCore (+ other swift libs) with an app using SciCharts on iOS? When I added the chart library to my app; the app crashed at startup with missing dynamic load of libSwiftCore.dylib on a real device (emulators run fine).
Enabling ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES in the build settings fixed this issue. But this surprised me that the SciChart library would actually require Swift.
Was this intentional; or did the library somehow pickup an unintentional reference somewhere….
Hi,
I’m trying to convert Java code to swift and I need the same CustomCategoryDateAxis class as Yura’s answer: https://www.scichart.com/questions/android/setvisiblerangelimitmode-on-xaxis
I try to inherit from SCICategoryDateAxis but there is no isZoomConstrainSatisfied and coerceVisibleRange overrides.
How can i write the same code in swift?
Tnx.
Hi,
I’m trying to convert Java code to swift and I need the AnnotationLabel’s setAxisLabelStyle equivalent.
AnnotationLabel annotationLabel = new AnnotationLabel(getContext());
annotationLabel.setLabelPlacement(LabelPlacement.Axis);
annotationLabel.setAxisLabelStyle(new Action1<AnnotationLabel>()
{
@Override
public void execute(AnnotationLabel annotationLabel)
{
annotationLabel.setFontStyle(new FontStyle(37.0f, Color.BLUE));
annotationLabel.setBackgroundResource(R.drawable.current_price);
}
});
How can i apply this code in swift?
How would I go about doing this in swift?
I would like to add scrollBar to SCINumericAxis for example xAxis.
I did find documentation:
https://www.scichart.com/documentation/v5.x/webframe.html#Scrollbars.html
But on iOS version, I can’t find numericAxis.Scrollbar is missing
Hello,
I’m trying to convert Android (Java) code to iOS (Swift), and I need to create a custom SCIZoomPanModifier. In the android code, onFling, onDown, and onDown were overridden, but I can’t seem to do that in iOS. How can I override onFling, onDown, and onUp in iOS to mimic the android code?
Thanks
Hi,
How can i listen annotation selection changes? I try this code but i’m getting error “Cannot assign to property: ‘lineAnnotation’ is immutable”
var lineAnnotation = SCILineAnnotation()
lineAnnotation.annotationSelectionChangedListener = { (annotation, isSelected) in
//
}
Tnx.
Hi,
I’m trying to convert Java code to swift and I need the RolloverModifier class’s updateCurrentPoint method. I create CustomRolloverModifier class inherits from SCIRolloverModifier class and import SciChart.Protected.SCIRolloverModifier extension too. But i can’t find updateCurrentPoint method. What is the updateCurrentPoint equivalent method on swift?
Thanks.
Try to integrate new SciChart.xcframework 4.2.0 instead of SciChart.framework 2.0 to the project and build failed in Xcode 12.4 with the next errors:
RNSciCandlestickChart.swift:
1) 335th line: Editor placeholder in source file
dates.add(date!))
2) 549th line: Cannot convert value of type ‘Bundle.Type’ to expected argument type ‘Bundle’ SCIThemeManager.addTheme(byThemeKey: theme, from: Bundle)
3) 768th line: Method does not override any method from its superclass
override func internalHandleGesture(_ gestureRecognizer: UIGestureRecognizer)
AnnotationDragListener.swift:
1) 4th line: Cannot find type ‘SCIAnnotationDragListener’ in scope
class AnnotationDragListener: SCIAnnotationDragListener
RNSciLineChart.swift:
1) 475th line: Editor placeholder in source file
SCIThemeManager.addTheme(byThemeKey: theme, from: Bundle)
Can you tell me please can I launch SciChart.xcframework 4.2.0 in Xcode 12.4? Any how to solve this issues?
SplineLineRenderableSeries doesn’t render curved graph line properly in Swift , it renders stepped line for the data series .For reference please check the Screenshot attached ,ECG line(Green) rendered as stepped line (Marked by rectangle). Let me know anything I need to update in my code
Please find below the code for initialisation go the graph and updating the graph same. I am updating graph realtime with same DataSeries.
Graph initialisation code
func init_ECG_Chart()
{
//Remove Theme From Chart By Apply & Remove & Change Border color
SCIThemeManager.applyTheme(to: self.ecg_Chart_Surface, withThemeKey: SCIChart_Bright_SparkStyleKey)
SCIThemeManager.removeTheme(byThemeKey: SCIChart_Bright_SparkStyleKey)
self.ecg_Chart_Surface.isOpaque = false
self.ecg_Chart_Surface.backgroundColor = .clear
self.ecg_Chart_Surface.renderableSeriesAreaBorderStyle = SCISolidPenStyle(color: .clear, thickness: 0)
//Line
let lineSeries = SCISplineLineRenderableSeries()
lineSeries.strokeStyle = SCISolidPenStyle(color: ecgSelectedColor, thickness: 2.0)
lineSeries.dataSeries = ecgLineDataSeries
// lineSeries.resamplingMode = SCIResamplingMode_None //Resampling off
// lineSeries.resamplingMode = SCIResamplingMode_Auto //Resampling off
let xAxis = SCINumericAxis()
xAxis.axisAlignment = .bottom
xAxis.drawLabels = false
xAxis.drawMajorGridLines = false
xAxis.drawMinorGridLines = false
xAxis.drawMajorTicks = false
xAxis.drawMinorTicks = false
let yAxis = SCINumericAxis()
yAxis.axisAlignment = .left
yAxis.drawLabels = false
yAxis.drawMajorGridLines = false
yAxis.drawMinorGridLines = false
yAxis.drawMajorTicks = false
yAxis.drawMinorTicks = false
yAxis.autoRange = .never //Stop auto ranging axis
yAxis.visibleRange = SCIDoubleRange(min: -32, max: 96)
// yAxis.visibleRangeLimit = SCIDoubleRange(min: -32, max: 96)
yAxis.growBy = SCIDoubleRange(min: 0.2, max: 0.2)
SCIUpdateSuspender.usingWith(self.ecg_Chart_Surface) {
self.ecg_Chart_Surface.xAxes.add(items: xAxis)
self.ecg_Chart_Surface.yAxes.add(items: yAxis)
self.ecg_Chart_Surface.renderableSeries.add(items: lineSeries)
//self.ecg_Chart_Surface.chartModifiers.add(items: SCIZoomExtentsModifier(),SCIPinchZoomModifier())
}
} //Init ECG
Graph updation code
func update_ECG_Chart(xValues:SCIDoubleValues,yValues:SCIDoubleValues)
{
SCIUpdateSuspender.usingWith(self.ecg_Chart_Surface) {
self.ecgLineDataSeries.append(x: xValues, y: yValues)
// self.ecg_Chart_Surface.zoomExtents()
self.ecg_Chart_Surface.zoomExtentsX()
}
} //Update ECG