iOS图表moveViewToX似乎不起作用

时间:2017-12-19 01:33:15

标签: ios swift ios-charts

我正在尝试移动当前显示的数据范围。阅读文档,似乎我应该能够使用moveViewToX函数将视图的左侧移动到给定的x值。

我制作了一个带有按钮的1个视图的测试代码。当视图在模拟器中加载时,图形会正确显示。单击该按钮时,会调用moveViewToX。但是,单击按钮时没有任何操作(单击按钮时打印到打印控制台,图表视图保持不变)。

import Charts
import UIKit

class ViewController: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    //Setup Test Chart
    self.lineChartView.data = LineChartData(dataSet: lineChartDataSet())

}


fileprivate func lineChartDataSet() -> LineChartDataSet {
    var dataEntries = [ChartDataEntry]()
    dataEntries.append(ChartDataEntry(x: 1, y: 2))
    dataEntries.append(ChartDataEntry(x: 3, y: 5))
    dataEntries.append(ChartDataEntry(x: 5, y: 10))
    dataEntries.append(ChartDataEntry(x: 6, y: 2))
    dataEntries.append(ChartDataEntry(x: 10, y: 15))
    dataEntries.append(ChartDataEntry(x: 12, y: 7))
    dataEntries.append(ChartDataEntry(x: 20, y: 10))
    dataEntries.append(ChartDataEntry(x: 30, y: 15))

    return LineChartDataSet(values: dataEntries, label: "Test Data")
}

@IBAction func buttonClick(_ sender: UIButton) {
    print("Button clicked")
    self.lineChartView.moveViewToX(5)
}
@IBOutlet weak var lineChartView: LineChartView!
}

1 个答案:

答案 0 :(得分:0)

确保图表具有足够的值以使其可滚动。如果图形有8个值并且它们都显示在屏幕上而不需要滚动到侧面来查看值,则表示moveViewToX不会执行任何操作,因为它无法滚动。 您可以在图表上选择可见点的范围,如果将范围设置为3,然后滚动到5,它将起作用。

self.lineChart.setVisibleXRange(minXRange: 3.0, maxXRange: 3.0)
self.lineChart.moveViewToX(5)