菜鸟教程小白 发表于 2022-12-12 18:02:44

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]
查看完整版本: ios - 从 UIImage 清除 UIView 绘图