让我的子类UIView有一个清晰的背景

时间:2013-07-17 23:36:12

标签: iphone objective-c uiview

我有一个非常简单的UIView子类,其中包含以下内容:

- (void)drawRect:(CGRect)rect{
    CGContextRef context= UIGraphicsGetCurrentContext();
    CGContextSetFillColorWithColor(context, [UIColor redColor].CGColor);
    CGContextSetAlpha(context, 0.5);
    CGContextFillEllipseInRect(context, CGRectMake(0,0,self.frame.size.width,self.frame.size.height));
}

但是当我将它添加到我的UITableViewCell的imageView时,图像的背景是黑色的。有什么方法可以让这个圆圈的背景清晰明白吗?

另外,我要显示cell.imageView的方式是将较小的图片添加到cell.imageView.image,因为如果没有它,imageView就不会显示。有没有办法解决这个问题?

2 个答案:

答案 0 :(得分:2)

1.你应该设置

self.backgroundColor = [UIColor clearColor].
你的init中的

。  然后设置清晰的颜色来填充。

CGContextSetFillColorWithColor(context, [UIColor clearColor].CGColor);

最重要的一步:

CGContextFillRect(context,self.bounds);

试试。

答案 1 :(得分:0)

在对上下文执行任何绘制操作之前,请执行以下操作:

CGContextClearRect(context, rect);