我花了整整一夜来解决这个问题,但我还是很生气
这里有关于我的代码的图片:http: //i284.photobucket.com/albums/ll15/hisinhvien/Screenshot2011-03-03at112716PM.png (抱歉b/s新用户无法发布图片)
首先,我覆盖了我的"@interface组件:UIView"的"drawRect"然后我把一些代码放入其中来测试推送和弹出图形上下文但它没有按照图片工作:第一次我选择了绿色然后我推动了上下文并选择了蓝色然后绘制了一个矩形,然后我将上下文弹出,但最后一个矩形仍然是蓝色......?
这是我的源代码:http://www.mediafire.com/ ?aakgqw92flc808o这很简单但出错... @@
使用CGContextSaveGState和CGContextRestoreGState.
关于保存内容的文档引用:
讨论
每个图形上下文都维护着一堆图形状态.请注意,并非当前绘图环境的所有方面都是图形状态的元素.例如,当前路径不被视为图形状态的一部分,因此在调用CGContextSaveGState函数时不会保存.保存的图形状态参数是:
在drawRect:方法的开头保存状态并在drawRect:方法结束时调用恢复也是一件好事.你不是在这里创建自己的上下文,你只是使用已经创建的上下文,你应该保留它的状态.换句话说,使用它,但最后保持它处于相同的状态.