2017-10-09 12 views
1

SciChart IOs線グラフ上をスクロールしたときに表示されるツールヒントの値を1つだけ表示する方法はありますか?アンドロイドとWPFでそれを行う方法の例がたくさんありますが、IOではそうはありません。SciChart IOsカーソルとツールヒント修飾子

答えて

0

次のことを実装する必要があります。まず第一に、カスタムレンダリング可能なシリーズ、例えば。あなたがLineRenderableSeriesを使用している場合、あなたはSCIFastLineRenderableSeriesから派生した新しいクラスを作成し、toSeriesInfoを上書きする必要があります:メソッドは、単に次のステップで

class CustomLineSeries : SCIFastLineRenderableSeries { 
     override func toSeriesInfo(withHitTest info: SCIHitTestInfo) -> SCISeriesInfo! { 
       return CustomSeriesInfo(series: self, hitTest: info) 
      } 
} 

を次の好きな、私たちは、カスタムレンダリング可能に私たちが使用しているCustomSeriesInfoクラスを作成します私達はちょうど作成した一連のクラス:

class CustomSeriesInfo : SCIXySeriesInfo { 
    override func createDataSeriesView() -> SCITooltipDataView! { 
     let view : CustomSeriesDataView = CustomSeriesDataView.createInstance() as! CustomSeriesDataView 

     view.setData(self) 
     return view; 
    } 
} 

そして最後に、我々はカスタム系列データビューを作成する - 私たちは私たちが望むものを示し、実際のビュー:

class CustomSeriesDataView : SCIXySeriesDataView { 

    static override func createInstance() -> SCITooltipDataView! { 
     let view : CustomSeriesDataView = (Bundle.main.loadNibNamed("CustomSeriesDataView", owner: nil, options: nil)![0] as? CustomSeriesDataView)! 
     view.translatesAutoresizingMaskIntoConstraints = false 
     return view 
    } 

    override func setData(_ data: SCISeriesInfo!) { 
     let series : SCIRenderableSeriesProtocol = data.renderableSeries() 

     var xFormattedValue : String? = data.fortmatterdValue(fromSeriesInfo: data.xValue(), for: series.dataSeries.xType()) 
     let xAxis = series.xAxis 

     if (xFormattedValue == nil) { 
      xFormattedValue = xAxis?.formatCursorText(data.xValue()) 
     } 

     self.dataLabel.text = "" 
     self.nameLabel.text = String(format: "X: %@", xFormattedValue!) 

     self.invalidateIntrinsicContentSize() 
    } 
} 

注:実際のビューを作成し、そのメインクラスとしてCustomSeriesDataViewを使用する必要があります。アウトレットにもバインドします。