0
を働いていない私は、次のチャートいる:私は日曜日、月曜日と水曜日のバーをタップすると、それはスウィフト:IOS-チャートタップハンドラが正しく
応答しません。私がTueバーをタップすると、それは応答し、正しく "2"(3番目のバーを意味する)を印刷します。テーブルの残りの部分をタップすると、基本的に木曜日のバーがタップされたことを意味する "4"が印刷されます。
これは私のコードです:
@IBOutlet weak var graphView: BarChartView!
func updateGraph(){
var dataEntries: [BarChartDataEntry] = []
let timeSheet: TimeSheet = TimeSheet.getTimeSheet()
let weekData = timeSheet.getData()
let keys: [String] = weekData.allKeys as! [String]
for weekday in keys{
let _weekday = weekday == "Sunday" ? 0 : weekday == "Monday" ? 1 : weekday == "Tuesday" ? 2: weekday == "Wednesday" ? 3 : weekday == "Thursday" ? 4 : weekday == "Friday" ? 5 : 6
let dayData = weekData.value(forKeyPath: weekday) as! NSDictionary
var totalWorkHour: Double = Double(dayData["totalWorkHour"] as! NSNumber)
totalWorkHour = Double(Int(totalWorkHour)/60*100 + Int(totalWorkHour)%60)/100 //Chaing minutes to hour format
let entry = BarChartDataEntry(x: Double(_weekday), y: totalWorkHour)
dataEntries.append(entry)
}
let graphDataSet = BarChartDataSet(values: dataEntries, label: nil)
graphDataSet.colors = ChartColorTemplates.colorful() //Make bars colorful
graphDataSet.axisDependency = .left
//graphDataSet.barBorderWidth = graphDataSet.barBorderWidth/2
let graphData = BarChartData(dataSet: graphDataSet)
graphView.data = graphData
}
func chartValueSelected(_ chartView: ChartViewBase, entry: ChartDataEntry, highlight: Highlight){
print("\(entry.x)")
}
私は基本的にios-charts-api-tutorialを追いました。
何かを見つけたら教えてください。