Overview
Drawings in DXCharts for iOS
It is recommended to read drawings module article first, because all core functionality is described there.
Drawings in ChartScreen are already wired up automatically, there is no need to add them as a module.
DXCharts-iOS provides a native Swift API to work with drawings.
Setup custom drawing settings for ChartScreen module
You can setup custom drawing settings for ChartScreen module by providing a custom DrawingsProvider instance. For do it provide your own implementation of the DrawingsProvider protocol and pass it to the DataProvider.
public protocol DrawingsProvider: AnyObject {/// Default drawing templates by type.////// Use this property to set up default drawing configurations and drawing lists in ChartScreen.////// - Note: To get default configuration for some drawing, use Configuration in it like `TrendLineDrawing.Configuration.default`////// Implementations may return `nil` if no defaults are provided, which will use default configurations (`Drawing.defaultDrawingConfigs`).var defaultDrawingConfigs: [DrawingType : DrawingConfiguration]? { get }}
Example of DrawingsProvider implementation
import UIKitimport DXChartfinal class CustomDrawingsProvider: DrawingsProvider {static var customTrendLineConfig: DrawingConfiguration = {var config = TrendLineDrawing.Configuration.defaultconfig.line.color = ChartColor(UIColor.purple)return config}()var defaultDrawingConfigs: [DrawingType : DrawingConfiguration]? = {var configs = Drawing.defaultDrawingConfigsconfigs[.trendLine] = customTrendLineConfigreturn configs}()}
Default drawing implementations
// Trend linesTrendLineDrawingInfoLineDrawingHorizontalRayDrawingArrowDrawingRayDrawingExtendedLineDrawingPriceLineDrawingTimeLineDrawingTrendChannelDrawingRegressionTrendDrawing// Fibonacci and GannPitchforkDrawingFibonacciRaysDrawingFibonacciArcsDrawingFibonacciCirclesDrawingFibonacciRetracementsDrawingFibonacciExtensionDrawingFibonacciChannelDrawingFibonacciTimezoneDrawingFibonacciTimeExtensionDrawingFibonacciTimeRatiosDrawingGannSquareDrawingGannBoxDrawingGannFanDrawingFibonacciSpiralDrawing// MarkupsHighlighterDrawingBrushDrawingPathDrawingCurveDrawingArcDrawingArrowUpDrawingArrowDownDrawingOvalDrawingRectangleDrawingCycleBracketsDrawing// ElliottElliottImpulseDrawingElliottCorrectionDrawing// RangesPriceRangeDrawingDateRangeDrawingDateAndPriceRangeDrawing// AnnotationsPriceLabelDrawingCalloutDrawingIconDrawingTextDrawing