我重寫-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