【发布时间】:2015-01-26 13:42:41
【问题描述】:
我正在尝试绘制一个透明的圆形 UIView。基于这个问题中的answer,我决定创建一个名为PartialTransparentView 的UIView 子类来创建一个动画透明圆形视图。
我在这个子类的实现中的drawRect 方法中遇到问题,以使绘制透明视图实际上显示为圆形而不是默认的矩形。根据下面的代码和来自answer 的建议,我应该先设置上下文,然后再填充颜色。但是,即使在尝试了其他几种代码排列之后,它仍然无法正常工作。任何建议都会非常有帮助!
- (void)drawRect:(CGRect)rect
{
CGContextRef context = UIGraphicsGetCurrentContext();
[backgroundColor setFill];
UIRectFill(rect);
for (NSValue *holeRectValue in rectsArray) {
CGRect holeRect = [holeRectValue CGRectValue];
CGContextAddEllipseInRect(context, holeRect);
CGRect holeRectIntersection = CGRectIntersection( holeRect, rect );
[[UIColor clearColor] setFill];
UIRectFill(holeRectIntersection);
}
}
【问题讨论】:
标签: ios objective-c uiview transparency