2011-04-16 50 views
2

一个简单的圆圈当我的iPhone应用程序的视图负荷,我动态创建一个UIImageView和我的图像放在它里面。我想借鉴的UIImageView上面简单的圆形,但一直未能使迄今做的。借鉴了的UIImageView

我写了这个代码,并试图在另一对象中recieving事件画一个圈......

CGContextRef context = UIGraphicsGetCurrentContext(); 
CGContextSetRGBStrokeColor(context, 0, 0, 255, 0.5); 
CGContextFillRect(context, CGRectMake(10, 10, 10, 10)); 

...但 没有任何反应 我收到一个错误。

<Error>: CGContextSetRGBStrokeColor: invalid context 0x0 
<Error>: CGContextFillRects: invalid context 0x0 

我试图画出一切,无济于事。我究竟做错了什么?

+0

只是好奇,@George,为什么[被删除这个(http://stackoverflow.com/posts/5683492/revisions)一段时间? – Arjan 2011-04-16 07:34:33

回答

4

尝试从另一个对象处收到事件后画一个圆圈[重点煤矿]

CGContextRefNULL因为在您呼叫UIGraphicsGetCurrentContext的地方没有图形上下文。

当您在一个视图的drawRect:是,上下文已经为你设置,这样你就可以得出,如果你需要可以得到当前上下文。在一个任意的方法(如IBAction)然而,可能不存在图形上下文对你画成。您需要可以创建一个,使用可能UIGraphicsBeginImageContextWithOptions,或(最好)只设置在事件处理方法的标志,以表明一些额外的应在下一次通过drawRect:绘制,然后调用setNeedsDisplay