菜鸟教程小白 发表于 2022-12-12 17:03:04

ios - 如何在 UIView 中绘制透明度?


                                            <p><p>我很清楚这个问题已经被问过很多次,但显然有些不同。我在 UIImageView 中的面上绘制矩形,所以我需要矩形是透明的。</p>

<p>据我所知,我遵循所有建议在 View 中绘制透明背景(例如,清除当前图形上下文的矩形)。我还将 View 设置为不透明并将 backgroundColor 设置为 clearColor。是否需要其他步骤?</p>

<pre><code>-(instancetype)init
{
    self = ;
    if ( self ) {
      self.opaque = NO;
      self.backgroundColor = ;
      self.clearsContextBeforeDrawing = NO;
    }
    return self;
}

- (void)drawRect:(CGRect)rect {
    UIBezierPath * path = ;

    CGContextRef ctx = UIGraphicsGetCurrentContext();
    [ setFill];

    CGContextClearRect(ctx, rect);

    ;
    path.lineWidth = 5.0;
    ;
}

@end
</code></pre>

<p> <a href="/image/GPbkC.png" rel="noreferrer noopener nofollow"><img src="/image/GPbkC.png" alt="An example of my output"/></a> </p>

<p>我需要背景是透明的,这个 View 默认显示为黑色。我尝试直接清除 CGContext 的矩形,因为我听说这通常是(曾经)解决方案。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我猜你的 <code>init</code> 方法永远不会被调用(毕竟,这不是指定的初始化程序),所以你的代码永远不会运行,因此 View 被创建为不透明的。 </p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如何在 UIView 中绘制透明度?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/33643859/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/33643859/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如何在 UIView 中绘制透明度?