首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIBezierPath简单矩形

UIBezierPath简单矩形
EN

Stack Overflow用户
提问于 2013-06-18 14:49:56
回答 1查看 9.7K关注 0票数 7

我只想使用以下函数在视图中绘制一个简单的矩形:

代码语言:javascript
复制
- (void)drawRect:(CGRect)rect {
    [super drawRect:rect];
    if (self.drawTextBouble) {
        [[UIColor blueColor] setFill];
        UIBezierPath *aPath = [UIBezierPath bezierPathWithRoundedRect:CGRectMake(40, 0, 230, 120) cornerRadius:12.0];
        [aPath fill];
    }
}

上面的代码用纯黑色背景填充视图,矩形外面是不透明的。我该如何解决这个问题呢?

编辑:

下面的解决方案是有效的,但这也是有效的:

代码语言:javascript
复制
[self setOpaque:NO];
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-18 15:18:15

您绘制代码是可以的。如果您希望自定义绘制视图具有透明背景,则只需设置

代码语言:javascript
复制
self.backgroundColor = [UIColor clearColor];

在视图的- (id)initWithFrame:(CGRect)frame

编辑:只是关于调用[super drawRect:rect]的一点注意事项。UIView文档说:

如果直接子类化UIView,则此方法的实现不需要调用

。然而,如果你是一个不同的视图类的子类,你应该在你的实现中的某个时候调用super。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17162263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档