-drawRect:
いくつかのカスタム ビューを描画するためにオーバーライドしています。通常、ドロップ シャドウを使用して、塗りつぶされた丸みを帯びた四角形のベジェ パスを描画します。ただし、厄介な問題に遭遇しました。影の色を設定すると、塗りつぶしの色も同じ色に変更されます!
これは Core Graphics のバグですか、それとも何か不足していますか? これは、影のあるパスを描画しようとしている私のコードの例です。translucentBlack
とhighlight
は 2 つの異なる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];
何か案は?ありがとう!