iOS & macOS Charting Documentation - SciChart iOS & macOS Charts SDK v4.x
Tooltip Modifier 3D
In SciChart iOS 3D you can add Tooltips onto SCIChartSurface3D using the SCITooltipModifier3D.
It’s derived from the SCIChartModifier3DBase and executes on touch over the data-point and shows tooltips under the pointer.

NOTE: Examples of the
SCITooltipModifier3Dusage can be found in the SciChart iOS Examples Suite as well as on GitHub:
SCITooltipModifier3D Usage
The SCITooltipModifier3D allows inspecting RenderableSeries 3D at a touch point.
For convenience, the actual hit-test point is located a bit above the actual touch point. It is marked with a small “X” sign.
Tooltips will appear to the side of it, showing the hit-test result of the topmost ISCIRenderableSeries3D at the “X” location:

For hit-testing series parts that are close to the chart boundaries, a multi-touch finger drag can be used, which makes hit-test point appear in between of two finger touches, same way as it works with 2D TooltipModifier.
SCITooltipModifier3D Features
The SCITooltipModifier3D has a bunch of the configuration properties listed in the table below, some of them are inherited from its base class - SCITooltipModifierBase:
| Feature | Description |
|---|---|
SCITooltipModifierBase3D.showTooltip |
Allows to hide or show modifier’s Tooltips. |
SCITooltipModifierBase3D.sourceMode |
Allows to specify which ISCIRenderableSeries are to be inspected by a modifier, e.g. Visible, Selected, etc. Other will be ignored by the modifier. Expects a member of the SCISourceMode enumeration. |
SCITooltipModifier3D.showAxisLabels |
Allows to hide or show Tooltips axis labels |
SCITooltipModifier3D.offset |
Specifies how far the hit-test point is from the actual touch point. This value will be used for either X or Y coordinate, or both, depending on markerPlacement. |
SCITooltipModifier3D.customPointOffset |
Specifies how far the hit-test point is from the actual touch point. As opposed to offset, both X and Y coordinate will always be applied. |
SCITooltipModifier3D.markerPlacement |
Allows to specify the position of the hit-test point relative to the touch point, e.g. Left, Top, etc… Expects a member of the SCIPlacement enumeration. |
SCITooltipModifier3D.tooltipPointMarkerPaintStyle |
Allows to specify SCIPenStyle which will be used to draw “X” marker. |
SCITooltipModifier3D.crosshairStrokeStyle |
Allows to specify the SCIPenStyle which will be used to draw Crosshair strokes |
SCITooltipModifier3D.crosshairPlanesFill |
Allows to specify the color to draw Crosshair planes with, if the SCICrosshairMode.SCICrosshairMode_Planes is selected. |
SCITooltipModifier3D.crosshairMode |
Allows to specify the crosshair mode, could be Planes or Lines. Expects SCICrosshairMode enumeration. |
SCITooltipModifier3D.projectionMode |
Defines the projection mode used to draw Crosshair. Expects the SCIProjectionMode enumeration. |
SCITooltipModifier3D.lineProjectionMode |
Allows to specify the planes, onto which the crosshair will be projected - XY, XZ, YZ or any combination of planes. Expects SCILineProjectionMode enumeration. |
Adding a SCITooltipModifier3D to a Chart
Any Chart Modifier 3D can be added to a SCIChartSurface3D via the ISCIChartSurface3D.chartModifiers property and SCITooltipModifier3D with no difference:
NOTE: To learn more about features available, visit the Chart Modifier 3D APIs article.
Customizing Tooltip Modifier 3D Tooltips
In SciChart, you can fully customize tooltips for SCITooltipModifier3D.
This customization is achieved via the ISCISeriesInfo3DProvider and ISCISeriesTooltip3D protocols.
Moreover - tooltips can be made unique per a RenderableSeries instance via the ISCIRenderableSeries3D.seriesInfoProvider property.

NOTE: Examples of the
SCITooltipModifier3Dcustomization can be found in the SciChart iOS Examples Suite as well as on GitHub:
To have fully custom tooltip for your modifier, you will need to provide custom ISCISeriesInfo3DProvider for your RenderableSeries via inheriting from SCISeriesInfo3DProviderBase which contains some base functionality.
From there - you might want to override one of the following (or both):
-getSeriesInfoInternal- allows to provide custom implementation ofSCISeriesInfo3D, which simply contains information about a RenderableSeries and should be created based on it-getSeriesTooltipInternalWithSeriesInfo:modifierType:- allows to provide custom tooltip for your series, based onseriesInfoandmodifierType
Customization SCITooltipModifier3D Example
First thing, we will need to create custom ISCISeriesTooltip3D and implement -internalUpdate: method in which we update tooltip instance based on passed in SCISeriesInfo3D instance.
Then, in custom ISCISeriesInfo3DProvider we override -getSeriesTooltipInternalWithSeriesInfo:modifierType and provide our custom tooltip there.
Finally, we provide our custom SeriesInfo3DProvider to our ISCIRenderableSeries3D instance via the corresponding property.
Let’s see the code below:
NOTE: Full example sources are available in 3D Charts -> Tooltips and HitTest 3D Charts -> Custom Serieis Tooltips 3D Charts
This will result in the following:

NOTE: A custom Tooltip has to implement the
ISCISeriesTooltip3Dor extend theSCISeriesTooltip3DBaseclass, which is derived fromUILabel.
View on GitHub