有没有办法在iOS版MPAndroidChart框架中处理手势结束(修饰)?

时间:2017-12-08 11:48:07

标签: android ios charts mpandroidchart ios-charts

MPAndroidChart 框架的Android版本中,有一种名为onChartGestureEnd的方法会在触摸时触发(例如,当您完成拖动折线图时)。

此框架的iOS版本中是否存在此方法的类似内容(图表)。如果没有那么我怎样才能处理拖动结束(可能是UIPanGestureRecognizer)而不会损坏我图表的当前拖动行为?

1 个答案:

答案 0 :(得分:1)

可能的解决方案之一是在图表中添加UIPanGestureRecognizer并添加手势完成后所需的任何行为:

@IBAction func didDragChart(_ sender: UIPanGestureRecognizer) {
    switch sender.state {
    case .ended, .cancelled:
        // Whatever you want to do when finished dragging.
    default:
        break
    }
}

然而,这还不够,因为此框架中的图表已经具有拖动的默认行为。要允许多个相同类型的手势(在我们的情况下它可以拖动),您可以创建图表的新子类并覆盖此方法:

 override func gestureRecognizer(_ gestureRecognizer: NSUIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: NSUIGestureRecognizer) -> Bool {
        return true
    }

现在两者都通过拖动滚动图表(默认行为)和手势识别器将一起工作。