chartValueSelected 永远不会被调用
chartValueSelected never gets called
我在我的项目中使用 https://github.com/danielgindi/Charts。
这是我的代码,这就是我声明 ViewController class:
的方式
class ViewController: UIViewController, ChartViewDelegate
图表视图的声明
@IBOutlet weak var chartView: LineChartView!
里面viewDidLoad()
self.chartView.delegate = self
这就是我实现委托方法的方式
func chartValueSelected(chartView: ChartViewBase, entry: ChartDataEntry, dataSetIndex: Int, highlight: Highlight)
{
print(dataSetIndex)
}
出于某种原因,当我在图表上滑动时,此方法从未被调用。知道为什么会发生这种情况吗?
提前致谢
检查chatView是否在viewDidLoad中初始化并检查其委托,然后检查调用委托的方法是否被调用过。
您可以在终端屏幕中使用 po chartView.delegate
也许您没有选择图表,这不是内部按钮的修饰,要调用您必须设置选定的选定方法,如果您希望它像按钮一样工作,也许有一个名为 setHighlighted 的操作...
如我所料,问题是 Swift 方法签名有 3 个不同。
Swift 3
func chartValueSelected(_ chartView: ChartViewBase, entry: ChartDataEntry, highlight: Highlight) { ... }
我在我的项目中使用 https://github.com/danielgindi/Charts。
这是我的代码,这就是我声明 ViewController class:
的方式class ViewController: UIViewController, ChartViewDelegate
图表视图的声明
@IBOutlet weak var chartView: LineChartView!
里面viewDidLoad()
self.chartView.delegate = self
这就是我实现委托方法的方式
func chartValueSelected(chartView: ChartViewBase, entry: ChartDataEntry, dataSetIndex: Int, highlight: Highlight)
{
print(dataSetIndex)
}
出于某种原因,当我在图表上滑动时,此方法从未被调用。知道为什么会发生这种情况吗?
提前致谢
检查chatView是否在viewDidLoad中初始化并检查其委托,然后检查调用委托的方法是否被调用过。 您可以在终端屏幕中使用 po chartView.delegate 也许您没有选择图表,这不是内部按钮的修饰,要调用您必须设置选定的选定方法,如果您希望它像按钮一样工作,也许有一个名为 setHighlighted 的操作...
如我所料,问题是 Swift 方法签名有 3 个不同。
Swift 3
func chartValueSelected(_ chartView: ChartViewBase, entry: ChartDataEntry, highlight: Highlight) { ... }