ios - 从 UIImage 清除 UIView 绘图
<p><p>好吧,快吓坏了……</p>
<p>制作绘图应用程序:
主视图(按钮、广告等)
然后是占据屏幕一部分的容器 View (带有自定义绘图类)
当用户单击主视图中的按钮时,它会触发容器 View 中的事件(可能是更好的方法,但我找不到)</p>
<p>当用户按下容器内的某个位置时,它会记录该点,添加一条线,然后更新 draw:rect 方法:</p>
<pre><code>- (void)drawRect:(CGRect)rect
{
;
;
}
</code></pre>
<p>(当用户绘制时,UIImage('incImage')被添加到它上面,它被绘制到 View 上)</p>
<p>绘图代码:</p>
<pre><code>- (void)drawBitmap
{
UIGraphicsBeginImageContextWithOptions(self.bounds.size, YES, 0.0);
[ setStroke];
;
;
incImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
}
</code></pre>
<p>但是我无法清除 View !
我尝试将 draw:Rect 方法分成 2 个部分(如果 clear 为真,如果不是)并这样做:</p>
<pre><code>UIGraphicsBeginImageContextWithOptions(self.bounds.size, YES, 0.0);
rectpath = ;
[ setFill];
;
;
incImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
_clear=true;
;
</code></pre>
<p>然后将 draw:Rect 更改为:</p>
<pre><code>- (void)drawRect:(CGRect)rect
{
if (clear) {
;
;
}
else {
;
;
}
}
</code></pre>
<p>但它不起作用(我也尝试创建一个 CGRect 然后用白色填充它并制作图像并尝试将该图像绘制到 View 但没有运气)。我也检查过,问题不是主视图从容器 View 通信和调用方法,我试图解决这个问题的方式或我的绘制方法有问题。 </p>
<p>任何帮助将不胜感激,我的 Mac 的生命可能取决于它:)</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>像这样创建函数:</p>
<pre><code>-(void) clearDrawing {
incImage = nil;
;
}
</code></pre>
<p>会删除incImage,所以<code>-(void)drawRect</code>中不再显示。如果你想再次显示一些东西,你可以调用 <code>-(void)drawBitmap</code> 它将执行这个: <code>incImage = UIGraphicsGetImageFromCurrentImageContext();</code> 并且 incImage 将重新创建一些绘图。</p></p>
<p style="font-size: 20px;">关于ios - 从 UIImage 清除 UIView 绘图,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/21141823/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/21141823/
</a>
</p>
页:
[1]