在 UIImageView 上画一个简单的圆圈
Posted
技术标签:
【中文标题】在 UIImageView 上画一个简单的圆圈【英文标题】:Drawing a simple circle on the UIImageView 【发布时间】:2011-04-16 00:02:41 【问题描述】:当视图加载到我的 ios 应用程序中时,我会动态创建一个 UIImageView 并将我的 Image 放入其中。我想,但到目前为止还不能这样做。
我编写了这段代码并尝试在收到来自另一个对象的事件时画一个圆圈...
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
我试图超越一切,但无济于事。我做错了什么?
【问题讨论】:
只是好奇,@George,为什么was this deleted 有一段时间了? 【参考方案1】:在收到来自另一个对象的事件时尝试绘制一个圆圈。 [强调我的]
您的CGContextRef
是NULL
,因为在您调用UIGraphicsGetCurrentContext
的地方没有图形上下文。
当您在视图的drawRect:
中时,已经为您设置了上下文,因此您可以绘制并在需要时获取当前上下文。但是,在任意方法(例如IBAction
)中,可能没有可供您绘制的图形上下文。您需要创建一个,可能使用UIGraphicsBeginImageContextWithOptions
,或者(最好)在您的事件处理程序方法中设置一个标志,以指示下次应该通过drawRect:
绘制额外的东西,然后调用setNeedsDisplay
。
【讨论】:
以上是关于在 UIImageView 上画一个简单的圆圈的主要内容,如果未能解决你的问题,请参考以下文章