Я использую ios-chart
, чтобы представить календарь, который я построил. В настоящее время я использую LineChart
для построения моих данных, и я набираю 1 балл за каждый день года на одной диаграмме. Таким образом, у меня 365 баллов, построенных на одном графике. И это занимает 1 секунду, чтобы нарисовать его. Это не большая проблема, за исключением того, что у меня есть мой календарь как TableViewCell
, что приведет к очень хакерскому прокрутку, когда TableViewCell
прокручивается за пределами ContentView
, а затем снова прокручивается (так что ячейка перерисовывается). Чувствуется странно, что так много времени занимает около 400 очков, даже на iPhone 6. Возможно, я что-то делаю неправильно?iOS-диаграммы замедляют мое приложение
Мой код установки для диаграммы:
lineChart.descriptionText = ""
lineChart.drawGridBackgroundEnabled = false
lineChart.userInteractionEnabled = false
lineChart.xAxis.drawAxisLineEnabled = false
lineChart.xAxis.drawGridLinesEnabled = false
lineChart.xAxis.drawLabelsEnabled = false
lineChart.drawBordersEnabled = false
lineChart.leftAxis.enabled = false
lineChart.rightAxis.enabled = false
lineChart.legend.enabled = false
lineChart.contentMode = .ScaleAspectFill
var xVals = [String]()
var dataSet = LineChartDataSet(yVals: [ChartDataEntry]())
for (index, value) in enumerate(plotData){
dataSet.addEntry(ChartDataEntry(value: Float(value), xIndex: index))
xVals.append("\(index)")
}
dataSet.setColor(Colors.whiteColor())
dataSet.lineWidth = 1.0
dataSet.circleRadius = 0.0
dataSet.drawCirclesEnabled = false
dataSet.drawValuesEnabled = false
dataSet.drawFilledEnabled = true
dataSet.fillColor = Colors.whiteColor()
dataSet.fillAlpha = 0.1
dataSet.valueTextColor = Colors.whiteColor()
lineChart.data = LineChartData(xVals: xVals, dataSet: dataSet)
Код выше выполняется каждый раз, когда создается ячейка (или повторно). Есть идеи?
Вы пробовали [Профиль времени] (https://developer.apple.com/library/ios/documentation/AnalysisTools/Reference/Instruments_User_Reference/TimeProfilerInstrument/TimeProfilerInstrument.html) в [Инструменты] (https: // разработчик .apple.com/библиотека/ИОС/документация/Разработчик/Концептуальный/InstrumentsUserGuide/Введение/Introduction.html)? – Mats
@ Маты никогда не использовали это раньше. Спасибо, нашел узкое место :)! Не имеет ничего общего с ios-chart. – ClockWise