我正在尝试移动当前显示的数据范围,阅读文档后,似乎可以使用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!
}
3条答案
按热度按时间llew8vvj1#
确保图形有足够的值使其可以滚动。如果图形有8个值,并且它们都显示在屏幕上,而不需要滚动到一边来查看值,这意味着moveViewToX不会做任何事情,因为它不能滚动。您可以选择图形上可见点的范围,如果您将范围设置为3,然后滚动到5,它将工作。
nvbavucw2#
我在iOS上也遇到了同样的问题。
moveViewToAnimated
对我很有效。zphenhs43#
对我来说-顺序很重要,否则moveViewToX不会有任何效果。这个顺序似乎确保了moveViewToX在将图形移动到正确的位置时起作用(我使用timesince 1970作为我的x值)。