我正在尝试使用drawRect
绘制一个绿色圆圈但是我在绿色圆圈周围的矩形区域中获得了黑色背景。
我需要边界矩形的填充是透明的。
这是我的DrawCircle
课程:
- (void)drawRect:(CGRect)rect {
UIBezierPath *ballBezierPath = [UIBezierPath rect];
[[UIColor greenColor] setFill];
[ballBezierPath stroke];
self.opaque = NO;
self.backgroundColor = [UIColor clearColor];
}
我的研究表明,添加最后两行来设置opaque
和backgroundColor
可以解决问题,但它仍然不起作用。
以下是我在ViewController
的{{1}}方法中添加子视图的位置:
viewDidLoad
我错过了什么或者我采取了不同的方法吗?
答案 0 :(得分:0)
您当前的方法存在一些问题:
drawRect:
。要让backgroundColor
能够自己用这种颜色填充矩形,或者让超类来完成它。将您的视图配置移动到初始化程序,drawRect
不适合执行任何操作。实施initWithFrame
和initWithCoder
(以支持Interface Builder。
- (id) initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self setupView];
}
return self;
}
- (id) initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
if (self) {
[self setupView];
}
return self;
}
- (void) setupView {
self.opaque = NO;
self.backgroundColor = [UIColor clearColor];
}