在UIImageView上绘制一个简单的圆圈

问题描述

| 当视图加载到我的iOS应用程序中时,我会动态创建一个UIImageView并将其图像放置在其中。我想在UIImageView的顶部绘制一个简单的圆圈,但是到目前为止还不能这样做。 我编写了这段代码,并试图在从另一个对象接收到事件时画一个圆圈。
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetRGBstrokeColor(context,255,0.5);
CGContextFillRect(context,CGRectMake(10,10,10));
...但是没有任何反应,我收到一个错误
<Error>: CGContextSetRGBstrokeColor: invalid context 0x0
<Error>: CGContextFillRects: invalid context 0x0
我试图超越一切,但无济于事。我究竟做错了什么?     

解决方法

  尝试从另一个对象接收到事件后画一个圆。 [强调我的] 您的
CGContextRef
NULL
,因为您要呼叫
UIGraphicsGetCurrentContext
的位置没有图形上下文。 当您位于视图的“ 5”处时,已经为您设置了上下文,因此您可以进行绘制并根据需要获取当前上下文。但是,在任意方法(例如ѭ6)中,可能没有可供您绘制的图形上下文。您可能需要使用
UIGraphicsBeginImageContextWithOptions
创建一个,或者(最好)在事件处理程序方法中设置一个标志,以指示下次应通过
drawRect:
绘制一些额外的东西,然后调用
setNeedsDisplay
。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...