首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS-charts减慢了我的应用

iOS-charts减慢了我的应用
EN

Stack Overflow用户
提问于 2015-09-07 15:49:00
回答 1查看 728关注 0票数 0

我正在使用ios-chart来呈现我构建的日历。我目前正在使用LineChart绘制我的数据,我在一个图表中绘制了一年中每一天的一个点。所以我在一张图表中绘制了365个点。画出来大概需要1秒。这不是一个大问题,除了我的日历是一个TableViewCell,一旦TableViewCell滚动到ContentView之外,然后再次滚动回来(这样单元格就会被重新绘制),这将导致非常粗糙的滚动。即使是在iPhone 6上,画400个点也需要这么长时间,这感觉很奇怪。我可能做错了什么?

我的图表设置代码:

代码语言:javascript
复制
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)

上面的代码是在每次创建(或重用)单元格时完成的。有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2015-09-07 16:50:09

问题出在我每次重用该单元时设置的数据中。显然,数据创建不应该在单元格中,而应该在其他地方。一旦我将我的数据初始化移动到其他地方,就应该解决这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32433583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档