Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 强制更新Core Plot plotArea填充_Iphone_Ios_Ipad_Core Plot - Fatal编程技术网

Iphone 强制更新Core Plot plotArea填充

Iphone 强制更新Core Plot plotArea填充,iphone,ios,ipad,core-plot,Iphone,Ios,Ipad,Core Plot,我正在尝试打开和关闭核心打印区的填充。当我在应用程序启动时设置填充时,一切正常。第一次切换效果很好。除非旋转显示器,否则填充打开或关闭的后续切换不起作用 -(void)layoutGraphPlotAreaFill{ CPTFill *plotFill=nil; if (self.graphPlotAreaHasFill) { plotFill=self.graphPlotAreaFill; }else{ plotFill=nil;

我正在尝试打开和关闭核心打印区的填充。当我在应用程序启动时设置填充时,一切正常。第一次切换效果很好。除非旋转显示器,否则填充打开或关闭的后续切换不起作用

-(void)layoutGraphPlotAreaFill{
    CPTFill *plotFill=nil;
    if (self.graphPlotAreaHasFill) {
        plotFill=self.graphPlotAreaFill;
    }else{
        plotFill=nil;
    }

    self.graph.plotAreaFrame.plotArea.fill=plotFill;
}
我通过委托方法从设置视图控制器调用上述代码。上述方法(已删除)中的NSLog语句表明正在调用该方法,
graphPlotAreaHasFill
属性设置正确,
CPTFill
正确。它只是没有更新绘图区域填充。同样,它只会在旋转显示器后更新

使用核心图1.0

关于如何在不必旋转的情况下强制更新填充区域,有何建议

谢谢

在这里找到了答案:

因为fill是一个
CALayer
子类,所以我可以调用
setNeedsDisplay
并刷新它。更新代码如下:

-(void)layoutGraphPlotAreaFill{
    CPTFill *plotFill=nil;
    if (self.graphPlotAreaHasFill) {
       plotFill=self.graphPlotAreaFill;
    }else{
       plotFill=nil;
    }

    self.graph.plotAreaFrame.plotArea.fill=plotFill;
    [self.graph.plotAreaFrame.plotArea setNeedsDisplay];
}

这是核心图中的一个错误,它应该自动重新绘制。我已经在存储库中修复了这个问题,它将包含在下一个版本中。您可以使用Mercurial提取最新代码以获得更改,或者继续使用修复程序,直到更新到新版本的Core Plot。@Eric,此错误是否也会影响graph.title属性?我有同样的问题,只告诉旋转或调用[graph setNeedsDisplay]即可解决。设置新标题文本时,图表标题应更新。你不应该为了重画标题而重画整个图表。