ios - 在 UIImageView 上画一个简单的圆圈
<p><p>当 View 加载到我的 iOS 应用程序中时,我会动态创建一个 UIImageView 并将我的 Image 放入其中。我想在 UIImageView 上画一个简单的圆圈,但到目前为止还不能这样做。</p>
<p>我编写了这段代码,并尝试在收到来自另一个对象的事件时画一个圆圈...</p>
<pre><code>CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetRGBStrokeColor(context, 0, 0, 255, 0.5);
CGContextFillRect(context, CGRectMake(10, 10, 10, 10));
</code></pre>
<p>...但是 <strike>什么都没有发生</strike> 我收到一个错误。 </p>
<pre><code><Error>: CGContextSetRGBStrokeColor: invalid context 0x0
<Error>: CGContextFillRects: invalid context 0x0
</code></pre>
<p>我试图超越一切,但无济于事。我做错了什么?</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><blockquote>
<p>attempted to draw a circle <strong>upon recieving an event</strong> from another object. <em></em></p>
</blockquote>
<p>您的 <code>CGContextRef</code> 为 <code>NULL</code>,因为在您调用 <code>UIGraphicsGetCurrentContext</code> 的地方没有图形上下文。 </p>
<p>当您在 View 的 <code>drawRect:</code> 中时,已经为您设置了一个上下文,因此您可以绘制并在需要时获取当前上下文。然而,在任意方法(例如 <code>IBAction</code>)中,可能没有可供您绘制的图形上下文。您需要创建一个,也许使用 <a href="http://developer.apple.com/library/ios/documentation/UIKit/Reference/UIKitFunctionReference/Reference/reference.html#//apple_ref/c/func/UIGraphicsBeginImageContextWithOptions" rel="noreferrer noopener nofollow"><code>UIGraphicsBeginImageContextWithOptions</code></a> ,或者(最好)只是在您的事件处理程序方法中设置一个标志,以指示下次应该通过 <code>drawRect:</code> 绘制额外的内容,然后调用 <code>setNeedsDisplay</code>。 </p></p>
<p style="font-size: 20px;">关于ios - 在 UIImageView 上画一个简单的圆圈,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/5683492/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/5683492/
</a>
</p>
页:
[1]