【问题标题】:If I save and restore the CurrentGraphicsContext, will that revert my drawing back to original state?如果我保存并恢复 CurrentGraphicsContext,这会将我的绘图恢复到原始状态吗?
【发布时间】:2014-02-23 18:55:18
【问题描述】:

我有一个 iPad 应用程序,我在其中沿 x 轴绘制日期网格并沿 y 轴绘制时间。然后我在这个网格的特定部分绘制彩色条(使用 CGContext 方法)(见图)。

如果我更改用于绘制条形图的数据,旧条形图仍然可见,而新条形图不可见。如果我使用 -CGContextSaveGState-CGContextSaveGState,是否会“清除”旧数据,使网格与原来一样,没有任何条形?

【问题讨论】:

    标签: ios ios7 cgcontext


    【解决方案1】:

    我认为文森特回答了您的问题,但您现在需要做的是从头开始重新绘制背景网格上的所有条形图。调用 setNeedsDisplay 获取在 bar 参数更改时绘制背景和 bar 的视图。然后您的drawRect 应该重新创建网格和条形。

    【讨论】:

    • 我从 -viewWillAppear 和 -viewDidAppear 试过了,都没有重绘网格(drawRect)...
    • 抱歉,回复这么晚了。在您的程序中的某个地方,您发现数据已更改,您需要重新绘制条形图。此时您需要调用 setNeedsDisplay,这将触发您的 drawRect 重新绘制图表。
    【解决方案2】:

    没有。只是恢复了图形上下文(图形引擎状态机),而不是引擎生成的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-12-17
      • 1970-01-01
      • 1970-01-01
      • 2019-11-06
      • 1970-01-01
      • 1970-01-01
      • 2022-11-02
      相关资源
      最近更新 更多