1

我在 iOS 应用程序上使用SciChart 。

是否可以SCIRolloverModifier仅在点击手势时显示?我想避免这样的事实,即在拖动图表时,它会自动显示翻转。

谢谢!!

4

1 回答 1

1

现在有一个如何在 SciChart iOS v2.x 中执行此操作的示例,位于SciChart.iOS.Examples Github 存储库

SciChart.iOS.Examples > v2.x > 沙盒 > LeaveRolloverOnScreen_Swift

这是如何工作的。

有一个名为 CustomRollover 的类继承了 SCIRolloverModifier。这将覆盖 onPanGesture 并且仅在手势操作尚未结束时调用基类 onPanGesture(它会在触摸结束时移除翻转)

 class CustomRollover : SCIRolloverModifier {
    override func onPanGesture(_ gesture: UIPanGestureRecognizer!, at view: UIView!) -> Bool {
        if (gesture.state != .ended) {
            return super.onPanGesture(gesture, at: view)
        }
        return true ;
    }
}

在主视图中有一个按钮,可将 Rollover 添加到图表并通过从 SCIChartSurface.ChartModifiers 集合中添加/删除 CustomRollover 将其删除。

let button = UIButton(frame: CGRect(x: 100, y: 5, width: 200, height: 50))
        button.setTitle("Add/Remove Rollover", for: .normal)
        button.addTarget(self, action: #selector(buttonAction), for: .touchUpInside)

        self.addSubview(button)

@objc func buttonAction(sender: UIButton!) {
        rollover.isEnabled = !rollover.isEnabled
        if (rollover.isEnabled) {
            self.chartModifiers.add(rollover)
        } else {
            self.chartModifiers.remove(rollover)
        }
    }

这是从屏幕上删除翻转的最简单方法,它可以让您决定何时删除或隐藏它。

于 2019-02-05T10:38:13.990 回答