我重写-drawRect:
来绘制一些自定义视图。通常,我正在绘制一个填充圆角矩形贝塞尔路径和阴影。但是,我遇到了一个令人讨厌的问题:当我设置阴影颜色时,填充颜色也变为相同的颜色!为什么CGContextSetShadowWithColor也会改变当前的填充颜色?
这是Core Graphics中的错误,还是我在这里丢失了一些东西?这里是我的代码示例,我试图用阴影画出一条路径。 translucentBlack
和highlight
是两个不同的UIColor
对象,但绘制的内容是圆角矩形,其中填充了高光颜色以及高光颜色中的阴影。
UIBezierPath* blackTranslucentRoundedRectPath = [UIBezierPath bezierPathWithRoundedRect: CGRectMake(CGRectGetMinX(frame) + 5, CGRectGetMinY(frame) + 5, CGRectGetWidth(frame) - 10, CGRectGetHeight(frame) - 10) cornerRadius: 8];
CGContextSetShadowWithColor(context, highlightOffset, highlightBlurRadius, highlight.CGColor);
[translucentBlack setFill];
[blackTranslucentRoundedRectPath fill];
任何想法?谢谢!
感谢上帝有人提出了这个问题。让我感觉不那么独特愚蠢。 – CharlieMezak