首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CPTBarPlot:我需要在改变条形填充颜色后打电话给reloadData吗?

CPTBarPlot:我需要在改变条形填充颜色后打电话给reloadData吗?
EN

Stack Overflow用户
提问于 2014-02-18 21:34:46
回答 1查看 267关注 0票数 1

我有一个iOS应用程序显示一个CPTBarPlot。我的条形图是通过改变触条的颜色来响应触摸的。为此,我跟踪barWasSelectedAtRecordIndex中最后一个选定栏的索引,然后在barFillForBarPlot中设置选定条的颜色,使其与其他颜色不同。这很好,但似乎每次选中的条形发生变化时,我都必须调用reloadData,以使新的填充颜色生效。这需要太长时间,因为有大量的数据,使应用程序感到迟钝。

仅仅为了改变一个条形的颜色而不得不重新加载所有数据似乎是浪费的,所以我希望有一个更好的方法,或者我只是在做一些愚蠢的事情。

以下是相关代码的简化版本:

代码语言:javascript
复制
-(void)barPlot:(CPTBarPlot *)plot barWasSelectedAtRecordIndex:(NSUInteger)idx
{
    self.selectedIndex = idx

    // Do I have to do this??
    [self reloadData];
}



-(CPTFill *)barFillForBarPlot:(CPTBarPlot *)barPlot recordIndex:(NSUInteger)index
{
    CPTFill *barFill = nil;
    if (index == self.selectedIndex)
    {
        barFill = [CPTFill fillWithColor:redColor];
    }
    else
    {
        barFill = [CPTFill fillWithColor:blueColor];
    }
    return barFill;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-19 00:59:13

是。该绘图缓存它从数据源加载的所有内容,包括栏填充。您需要打电话给-reloadData,告诉它可以加载新的信息。

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

https://stackoverflow.com/questions/21865881

复制
相关文章

相似问题

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