我在项目中使用https://github.com/danielgindi/Charts。
这是我的代码,这是我声明我的ViewController类的方式:
class ViewController: UIViewController, ChartViewDelegate
chartView的声明
@IBOutlet weak var chartView: LineChartView!
在viewDidLoad()
self.chartView.delegate = self
这就是我实现委托方法的方法
func chartValueSelected(chartView: ChartViewBase, entry: ChartDataEntry, dataSetIndex: Int, highlight: Highlight)
{
print(dataSetIndex)
}
出于某种原因,当我在图表上滑动时,此方法永远不会被调用。有什么想法可能会发生吗?
提前致谢
答案 0 :(得分:9)
正如我可能预料的那样,问题在于方法签名的Swift 3差异。
Swift 3
func chartValueSelected(_ chartView: ChartViewBase, entry: ChartDataEntry, highlight: Highlight) { ... }
答案 1 :(得分:0)
如果在viewDidLoad中初始化了chatView并检查其委托,请检查断点,然后检查是否曾调用过调用委托的方法。 您可以在终端屏幕中使用po chartView.delegate 也许你没有选择图表,这不是里面的按钮,调用你必须设置选择的选定方法,如果你想让它像按钮一样工作,也许有一个叫做setHighlighted的动作......