gpt4 book ai didi

swift - 图表未在 tableViewCell 中绘制

转载 作者:搜寻专家 更新时间:2023-10-31 22:39:36 24 4
gpt4 key购买 nike

我正在尝试使用 Charts 3.0.2(较旧的 pod 版本,因为我使用的是 Xcode 8.3)在 swift 3 的 tableViewCell 中绘制随机图表

setChart() 函数在 View Controller 类中工作。

这是我的 TableViewCell 代码 -

import UIKit
import Charts

class ChartTVC: UITableViewCell {

@IBOutlet weak var barChartView: BarChartView!

var months: [String]!
override func awakeFromNib() {
super.awakeFromNib()

}

override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)

}

func setChart() {
var dataEntries: [BarChartDataEntry] = []
barChartView.backgroundColor = UIColor.white
for i in 100..<105 {
let dataEntry = BarChartDataEntry(x: Double(i), y: Double(45))
dataEntries.append(dataEntry)
}
let chartDataSet = BarChartDataSet(values: dataEntries, label: "Visitor count")
let chartData = BarChartData()
chartData.addDataSet(chartDataSet)
chartData.setDrawValues(true)
chartDataSet.colors = [Colors.amber]

let xaxis:XAxis = XAxis()

barChartView.xAxis.labelPosition = .bottom
barChartView.xAxis.drawGridLinesEnabled = true
barChartView.xAxis.valueFormatter = xaxis.valueFormatter
barChartView.chartDescription?.enabled = true
barChartView.legend.enabled = true
barChartView.rightAxis.enabled = true
barChartView.leftAxis.drawGridLinesEnabled = true
barChartView.leftAxis.drawLabelsEnabled = true
barChartView.data = chartData
}

}

这就是我从 View Controller 类中调用它的方式

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "ChartTVC", for: indexPath) as! ChartTVC
cell.setChart()

return cell
}

我看了很多教程博客,也没发现代码有什么问题。我为条形图 View 设置了高度限制。这是屏幕截图。

enter image description here

图表文本是一个标签。

最佳答案

设置图表数据后尝试调用它:

barChartView.notifyDataSetChanged()

关于swift - 图表未在 tableViewCell 中绘制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49779874/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com