我在《 Quartz 2D编程指南》中找到了这个:


  要在iOS应用程序中绘制到屏幕,请设置UIView对象并实现其drawRect:方法以执行绘制。当视图在屏幕上可见并且其内容需要更新时,将调用该视图的drawRect:方法。在调用自定义drawRect:方法之前,视图对象会自动配置其绘制环境,以便您的代码可以立即开始绘制。作为此配置的一部分,UIView对象为当前绘图环境创建图形上下文(CGContextRef不透明类型)。您可以通过调用UIKit函数UIGraphicsGetCurrentContext在drawRect:方法中获取此图形上下文。


由于我在使用无效的Context时遇到问题(因为当我返回重新绘制时为0x00),因此我想知道是否可以在-drawRect的开头获取当前上下文,并以某种方式将其传递给我从内部调用的方法- drawRect?

最佳答案

您绝对可以将CGContextRef传递给从drawRect:调用的方法,只要这些方法不保存引用供在drawRect:调用持续时间内使用,您的代码就可以了。但是,您传递的上下文引用将等效于通过UIGraphicsGetCurrentContext检索的上下文,因此我怀疑添加一个额外的参数是否会带来很多好处。

关于ios - 我可以将CGContextRef传递给从drawRect调用的方法吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15907695/

10-13 09:03