• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

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

[复制链接]
菜鸟教程小白 发表于 2022-12-12 17:03:04 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

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

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

-(instancetype)init
{
    self = [super init];
    if ( self ) {
        self.opaque = NO;
        self.backgroundColor = [UIColor clearColor];
        self.clearsContextBeforeDrawing = NO;
    }
    return self;
}

- (void)drawRectCGRect)rect {
    UIBezierPath * path = [UIBezierPath bezierPathWithRect:rect];

    CGContextRef ctx = UIGraphicsGetCurrentContext();
    [[UIColor clearColor] setFill];

    CGContextClearRect(ctx, rect);

    [self.rectColor setStroke];
    path.lineWidth = 5.0;
    [path stroke];
}

@end

An example of my output

我需要背景是透明的,这个 View 默认显示为黑色。我尝试直接清除 CGContext 的矩形,因为我听说这通常是(曾经)解决方案。



Best Answer-推荐答案


我猜你的 init 方法永远不会被调用(毕竟,这不是指定的初始化程序),所以你的代码永远不会运行,因此 View 被创建为不透明的。

关于ios - 如何在 UIView 中绘制透明度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33643859/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap